{
    "openapi": "3.1.0",
    "info": {
        "title": "Hlool API v1",
        "version": "1.0.0",
        "description": "REST API v1 for the Hlool ERP — the API consumed by the first-party desktop and mobile apps.\n\n**Authentication:** `Authorization: Bearer <token>`. Tokens are personal access tokens issued\nby `POST /api/v1/auth/token` (email + password + device name, plus a 2FA code when enabled),\nor from **Settings → API tokens** in the web app. Tokens expire after 90 days by default.\n\n**Company context:** every call except `POST /api/v1/auth/token` and `GET /api/v1/me` requires\nan `X-Company: <company-uuid>` header selecting one of your companies (list them via\n`GET /api/v1/me`). All records are scoped to that company.\n\n**Permissions:** each operation lists the company permission it requires in\n`x-required-permission` (the `can:` middleware of the underlying route).\n\n**Pagination:** list endpoints accept `?page` and `?per_page` (default 25, max 100) and return\nthe Laravel paginator shape `{data, links, meta}`. **Rate limit:** 120 requests/minute.\n\nThis document is generated from the registered routes by `php artisan api:openapi`; treat the\noperation list as the source of truth and request/response field details as the standard\ncontract envelopes."
    },
    "servers": [
        {
            "url": "https://app.hlooltech.com/api/v1",
            "description": "API host (from config hlool.domains.app at generation time)"
        }
    ],
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Accounting"
        },
        {
            "name": "Affiliates"
        },
        {
            "name": "Agile"
        },
        {
            "name": "Ai"
        },
        {
            "name": "Aidocs"
        },
        {
            "name": "Appointments"
        },
        {
            "name": "Appraisals"
        },
        {
            "name": "Approvals"
        },
        {
            "name": "Attendance"
        },
        {
            "name": "Auth"
        },
        {
            "name": "Barcode"
        },
        {
            "name": "Billing"
        },
        {
            "name": "Blog"
        },
        {
            "name": "Calendar"
        },
        {
            "name": "Contacts"
        },
        {
            "name": "Contracts"
        },
        {
            "name": "Crm"
        },
        {
            "name": "Data Studio"
        },
        {
            "name": "Devices"
        },
        {
            "name": "Discuss"
        },
        {
            "name": "Documents"
        },
        {
            "name": "Ecommerce"
        },
        {
            "name": "Email Marketing"
        },
        {
            "name": "Events"
        },
        {
            "name": "Expenses"
        },
        {
            "name": "Field Service"
        },
        {
            "name": "Fleet"
        },
        {
            "name": "Flow"
        },
        {
            "name": "Forms"
        },
        {
            "name": "Forum"
        },
        {
            "name": "Helpdesk"
        },
        {
            "name": "Hr"
        },
        {
            "name": "Identity"
        },
        {
            "name": "Inbox"
        },
        {
            "name": "Intranet"
        },
        {
            "name": "Inventory"
        },
        {
            "name": "Invitations"
        },
        {
            "name": "Iot"
        },
        {
            "name": "Itam"
        },
        {
            "name": "Knowledge"
        },
        {
            "name": "Maintenance"
        },
        {
            "name": "Manufacturing"
        },
        {
            "name": "Marketing Automation"
        },
        {
            "name": "Me"
        },
        {
            "name": "Meetings"
        },
        {
            "name": "Notifications"
        },
        {
            "name": "Office"
        },
        {
            "name": "Pack Agriculture"
        },
        {
            "name": "Pack Contracting"
        },
        {
            "name": "Pack Distribution"
        },
        {
            "name": "Pack Education"
        },
        {
            "name": "Pack Healthcare"
        },
        {
            "name": "Pack Hospitality"
        },
        {
            "name": "Pack Nonprofit"
        },
        {
            "name": "Pack Restaurants"
        },
        {
            "name": "Pack Retail"
        },
        {
            "name": "Pack Services"
        },
        {
            "name": "Payments"
        },
        {
            "name": "Payroll"
        },
        {
            "name": "Planning"
        },
        {
            "name": "Platform"
        },
        {
            "name": "Plm"
        },
        {
            "name": "Pos"
        },
        {
            "name": "Pos Restaurant"
        },
        {
            "name": "Practice"
        },
        {
            "name": "Project"
        },
        {
            "name": "Public"
        },
        {
            "name": "Purchasing"
        },
        {
            "name": "Quality"
        },
        {
            "name": "Recruitment"
        },
        {
            "name": "Referrals"
        },
        {
            "name": "Remote Assist"
        },
        {
            "name": "Rental"
        },
        {
            "name": "Repairs"
        },
        {
            "name": "Reporting"
        },
        {
            "name": "Sales"
        },
        {
            "name": "Sign"
        },
        {
            "name": "Sms Marketing"
        },
        {
            "name": "Social"
        },
        {
            "name": "Spend"
        },
        {
            "name": "Staffing"
        },
        {
            "name": "Storefront"
        },
        {
            "name": "Subscriptions"
        },
        {
            "name": "Surveys"
        },
        {
            "name": "Tasks"
        },
        {
            "name": "Time Off"
        },
        {
            "name": "Timesheets"
        },
        {
            "name": "Voip"
        },
        {
            "name": "Whatsapp"
        },
        {
            "name": "Workplace"
        },
        {
            "name": "Zatca"
        }
    ],
    "paths": {
        "/api/v1/accounting/accounts": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Accounts",
                "operationId": "accounting.api.accounts.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/accounts/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Account",
                "operationId": "accounting.api.accounts.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/accounts/{id}/balance": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Balance a Account",
                "operationId": "accounting.api.accounts.balance",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statement-lines/{id}/confirm": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Confirm a Bank Statement Line",
                "operationId": "accounting.api.bank-statement-lines.confirm",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statement-lines/{id}/reject": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Reject a Bank Statement Line",
                "operationId": "accounting.api.bank-statement-lines.reject",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statement-lines/{id}/unmatch": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Unmatch a Bank Statement Line",
                "operationId": "accounting.api.bank-statement-lines.unmatch",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Bank Statements",
                "operationId": "accounting.api.bank-statements.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements/imports": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Create a Bank Statement",
                "operationId": "accounting.api.bank-statements.imports.store",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements/imports/preview": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Preview a Bank Statement",
                "operationId": "accounting.api.bank-statements.imports.preview",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Bank Statement",
                "operationId": "accounting.api.bank-statements.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements/{id}/lines": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Lines a Bank Statement",
                "operationId": "accounting.api.bank-statements.lines",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/bank-statements/{id}/run-matching": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Run Matching a Bank Statement",
                "operationId": "accounting.api.bank-statements.run-matching",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/dashboard/aggregates": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Aggregates a Dashboard",
                "operationId": "accounting.api.dashboard.aggregates",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/entries": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Entries",
                "operationId": "accounting.api.entries.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Create a Entry",
                "operationId": "accounting.api.entries.store",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/entries/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Entry",
                "operationId": "accounting.api.entries.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Update a Entry",
                "operationId": "accounting.api.entries.update",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Delete a Entry",
                "operationId": "accounting.api.entries.destroy",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/entries/{id}/post": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Post a Entry",
                "operationId": "accounting.api.entries.post",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/entries/{id}/reverse": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Reverse a Entry",
                "operationId": "accounting.api.entries.reverse",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Invoices",
                "operationId": "accounting.api.invoices.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Create a Invoice",
                "operationId": "accounting.api.invoices.store",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Invoice",
                "operationId": "accounting.api.invoices.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Update a Invoice",
                "operationId": "accounting.api.invoices.update",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Delete a Invoice",
                "operationId": "accounting.api.invoices.destroy",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices/{id}/credit-note": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Credit Note a Invoice",
                "operationId": "accounting.api.invoices.credit-note",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices/{id}/mark-paid": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Mark Paid a Invoice",
                "operationId": "accounting.api.invoices.mark-paid",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices/{id}/post": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Post a Invoice",
                "operationId": "accounting.api.invoices.post",
                "x-module": "accounting",
                "x-required-permission": "accounting.post",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/invoices/{id}/print": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Print a Invoice",
                "operationId": "accounting.api.invoices.print",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/journals": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Journals",
                "operationId": "accounting.api.journals.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/journals/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Journal",
                "operationId": "accounting.api.journals.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/netting": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Create a Netting",
                "operationId": "accounting.api.netting.store",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/netting/candidates": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Candidates a Netting",
                "operationId": "accounting.api.netting.candidates",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/payments": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Payments",
                "operationId": "accounting.api.payments.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Create a Payment",
                "operationId": "accounting.api.payments.store",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/payments/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Payment",
                "operationId": "accounting.api.payments.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/payments/{id}/void": {
            "post": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Void a Payment",
                "operationId": "accounting.api.payments.void",
                "x-module": "accounting",
                "x-required-permission": "accounting.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/reports": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Reports",
                "operationId": "accounting.api.reports.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.reports",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/reports/{report}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Report",
                "operationId": "accounting.api.reports.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.reports",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/settings": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Setting",
                "operationId": "accounting.api.settings.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.settings",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Update a Setting",
                "operationId": "accounting.api.settings.update",
                "x-module": "accounting",
                "x-required-permission": "accounting.settings",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/taxes": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "List Taxes",
                "operationId": "accounting.api.taxes.index",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/accounting/taxes/{id}": {
            "get": {
                "tags": [
                    "Accounting"
                ],
                "summary": "Get a Tax",
                "operationId": "accounting.api.taxes.show",
                "x-module": "accounting",
                "x-required-permission": "accounting.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/affiliates": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Affiliates",
                "operationId": "affiliates.api.affiliates.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Affiliate",
                "operationId": "affiliates.api.affiliates.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/affiliates/{affiliate}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Affiliate",
                "operationId": "affiliates.api.affiliates.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "affiliate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Update a Affiliate",
                "operationId": "affiliates.api.affiliates.update",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "affiliate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/affiliates/{affiliate}/payouts": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Payout",
                "operationId": "affiliates.api.payouts.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "affiliate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/affiliates/{affiliate}/status": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Status a Affiliate",
                "operationId": "affiliates.api.affiliates.status",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "affiliate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/commission-rules": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Commission Rules",
                "operationId": "affiliates.api.commission-rules.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Commission Rule",
                "operationId": "affiliates.api.commission-rules.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/commission-rules/{rule}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Commission Rule",
                "operationId": "affiliates.api.commission-rules.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Update a Commission Rule",
                "operationId": "affiliates.api.commission-rules.update",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Delete a Commission Rule",
                "operationId": "affiliates.api.commission-rules.destroy",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/loyalty-programs": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Loyalty Programs",
                "operationId": "affiliates.api.loyalty-programs.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Loyalty Program",
                "operationId": "affiliates.api.loyalty-programs.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/loyalty-programs/{program}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Loyalty Program",
                "operationId": "affiliates.api.loyalty-programs.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Update a Loyalty Program",
                "operationId": "affiliates.api.loyalty-programs.update",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Delete a Loyalty Program",
                "operationId": "affiliates.api.loyalty-programs.destroy",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/loyalty-programs/{program}/members": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Member",
                "operationId": "affiliates.api.members.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/loyalty-programs/{program}/tiers": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Create a Tier",
                "operationId": "affiliates.api.tiers.store",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/loyalty-programs/{program}/tiers/{tier}": {
            "put": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Update a Tier",
                "operationId": "affiliates.api.tiers.update",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "tier",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Delete a Tier",
                "operationId": "affiliates.api.tiers.destroy",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "program",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "tier",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Members",
                "operationId": "affiliates.api.members.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Store Direct a Member",
                "operationId": "affiliates.api.members.store-direct",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Member",
                "operationId": "affiliates.api.members.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Update a Member",
                "operationId": "affiliates.api.members.update",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Delete a Member",
                "operationId": "affiliates.api.members.destroy",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/adjust": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Adjust a Member",
                "operationId": "affiliates.api.members.adjust",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/earn": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Earn a Member",
                "operationId": "affiliates.api.members.earn",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/ledger": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Ledger a Member",
                "operationId": "affiliates.api.members.ledger",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/recalculate-tier": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Recalculate Tier a Member",
                "operationId": "affiliates.api.members.recalculate-tier",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/redeem": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Redeem a Member",
                "operationId": "affiliates.api.members.redeem",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/members/{member}/status": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Status a Member",
                "operationId": "affiliates.api.members.status",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "member",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/payouts": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Payouts",
                "operationId": "affiliates.api.payouts.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/payouts/{payout}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Payout",
                "operationId": "affiliates.api.payouts.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "payout",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/payouts/{payout}/cancel": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Cancel a Payout",
                "operationId": "affiliates.api.payouts.cancel",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "payout",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/payouts/{payout}/mark-paid": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Mark Paid a Payout",
                "operationId": "affiliates.api.payouts.mark-paid",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "payout",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/referrals": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "List Referrals",
                "operationId": "affiliates.api.referrals.index",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/referrals/convert": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Convert a Referral",
                "operationId": "affiliates.api.referrals.convert",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/referrals/{referral}": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get a Referral",
                "operationId": "affiliates.api.referrals.show",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.view",
                "parameters": [
                    {
                        "name": "referral",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/referrals/{referral}/approve": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Approve a Referral",
                "operationId": "affiliates.api.referrals.approve",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "referral",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/affiliates/referrals/{referral}/reject": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Reject a Referral",
                "operationId": "affiliates.api.referrals.reject",
                "x-module": "affiliates",
                "x-required-permission": "affiliates.manage",
                "parameters": [
                    {
                        "name": "referral",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/boards": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "List Boards",
                "operationId": "agile.api.boards.index",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Agile"
                ],
                "summary": "Create a Board",
                "operationId": "agile.api.boards.store",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/boards/{board}": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "Get a Board",
                "operationId": "agile.api.boards.show",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Agile"
                ],
                "summary": "Update a Board",
                "operationId": "agile.api.boards.update",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Agile"
                ],
                "summary": "Delete a Board",
                "operationId": "agile.api.boards.destroy",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/boards/{board}/cards": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "List Boards",
                "operationId": "agile.api.boards.cards.index",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Agile"
                ],
                "summary": "Create a Board",
                "operationId": "agile.api.boards.cards.store",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/boards/{board}/sprints": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "List Boards",
                "operationId": "agile.api.boards.sprints.index",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Agile"
                ],
                "summary": "Create a Board",
                "operationId": "agile.api.boards.sprints.store",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/cards/{card}": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "Get a Card",
                "operationId": "agile.api.cards.show",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "card",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Agile"
                ],
                "summary": "Update a Card",
                "operationId": "agile.api.cards.update",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "card",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Agile"
                ],
                "summary": "Delete a Card",
                "operationId": "agile.api.cards.destroy",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "card",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/cards/{card}/move": {
            "post": {
                "tags": [
                    "Agile"
                ],
                "summary": "Move a Card",
                "operationId": "agile.api.cards.move",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "card",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/agile/sprints/{sprint}": {
            "get": {
                "tags": [
                    "Agile"
                ],
                "summary": "Get a Sprint",
                "operationId": "agile.api.sprints.show",
                "x-module": "agile",
                "x-required-permission": "agile.view",
                "parameters": [
                    {
                        "name": "sprint",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Agile"
                ],
                "summary": "Update a Sprint",
                "operationId": "agile.api.sprints.update",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "sprint",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Agile"
                ],
                "summary": "Delete a Sprint",
                "operationId": "agile.api.sprints.destroy",
                "x-module": "agile",
                "x-required-permission": "agile.manage",
                "parameters": [
                    {
                        "name": "sprint",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ai/providers": {
            "get": {
                "tags": [
                    "Ai"
                ],
                "summary": "List Providers",
                "operationId": "ai.api.providers.index",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ai"
                ],
                "summary": "Create a Provider",
                "operationId": "ai.api.providers.store",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ai/providers/{provider}": {
            "get": {
                "tags": [
                    "Ai"
                ],
                "summary": "Get a Provider",
                "operationId": "ai.api.providers.show",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Ai"
                ],
                "summary": "Update a Provider",
                "operationId": "ai.api.providers.update",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ai"
                ],
                "summary": "Delete a Provider",
                "operationId": "ai.api.providers.destroy",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ai/providers/{provider}/set-default": {
            "post": {
                "tags": [
                    "Ai"
                ],
                "summary": "Set Default a Provider",
                "operationId": "ai.api.providers.set-default",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ai/providers/{provider}/test": {
            "post": {
                "tags": [
                    "Ai"
                ],
                "summary": "Test a Provider",
                "operationId": "ai.api.providers.test",
                "x-module": "ai",
                "x-required-permission": "ai.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/aidocs/extractions": {
            "get": {
                "tags": [
                    "Aidocs"
                ],
                "summary": "List Extractions",
                "operationId": "aidocs.api.extractions.index",
                "x-module": "aidocs",
                "x-required-permission": "aidocs.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Aidocs"
                ],
                "summary": "Create a Extraction",
                "operationId": "aidocs.api.extractions.store",
                "x-module": "aidocs",
                "x-required-permission": "aidocs.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/aidocs/extractions/{id}": {
            "get": {
                "tags": [
                    "Aidocs"
                ],
                "summary": "Get a Extraction",
                "operationId": "aidocs.api.extractions.show",
                "x-module": "aidocs",
                "x-required-permission": "aidocs.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/aidocs/extractions/{id}/confirm": {
            "post": {
                "tags": [
                    "Aidocs"
                ],
                "summary": "Confirm a Extraction",
                "operationId": "aidocs.api.extractions.confirm",
                "x-module": "aidocs",
                "x-required-permission": "aidocs.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/aidocs/status": {
            "get": {
                "tags": [
                    "Aidocs"
                ],
                "summary": "Get a Status",
                "operationId": "aidocs.api.status.show",
                "x-module": "aidocs",
                "x-required-permission": "aidocs.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/agenda": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Get Agenda",
                "operationId": "appointments.api.agenda",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/agenda/{id}": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Get a Agenda",
                "operationId": "appointments.api.agenda.show",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/appointments/{appointment}": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Get a Appointment",
                "operationId": "appointments.api.appointments.show",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "appointment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/appointments/{appointment}/cancel": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Cancel a Appointment",
                "operationId": "appointments.api.appointments.cancel",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "appointment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/appointments/{appointment}/complete": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Complete a Appointment",
                "operationId": "appointments.api.appointments.complete",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "appointment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/appointments/{appointment}/confirm": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Confirm a Appointment",
                "operationId": "appointments.api.appointments.confirm",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "appointment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/appointments/{appointment}/no-show": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "No Show a Appointment",
                "operationId": "appointments.api.appointments.no-show",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "appointment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/services": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "List Services",
                "operationId": "appointments.api.services.index",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Create a Service",
                "operationId": "appointments.api.services.store",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/services/{type}": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Get a Service",
                "operationId": "appointments.api.services.show",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Update a Service",
                "operationId": "appointments.api.services.update",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Delete a Service",
                "operationId": "appointments.api.services.destroy",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/services/{type}/book": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Book a Service",
                "operationId": "appointments.api.services.book",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/services/{type}/publish": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Publish a Service",
                "operationId": "appointments.api.services.publish",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/services/{type}/unpublish": {
            "post": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Unpublish a Service",
                "operationId": "appointments.api.services.unpublish",
                "x-module": "appointments",
                "x-required-permission": "appointments.manage",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appointments/slots": {
            "get": {
                "tags": [
                    "Appointments"
                ],
                "summary": "Get Slots",
                "operationId": "appointments.api.slots",
                "x-module": "appointments",
                "x-required-permission": "appointments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/appraisals/{appraisal}": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Get a Appraisal",
                "operationId": "appraisals.api.appraisals.show",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "appraisal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/appraisals/{appraisal}/complete": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Complete a Appraisal",
                "operationId": "appraisals.api.appraisals.complete",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "appraisal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/appraisals/{appraisal}/feedback": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Feedback a Appraisal",
                "operationId": "appraisals.api.appraisals.feedback",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "appraisal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/appraisals/{appraisal}/self-assess": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Self Assess a Appraisal",
                "operationId": "appraisals.api.appraisals.self-assess",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "appraisal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/cycles": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "List Cycles",
                "operationId": "appraisals.api.cycles.index",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Create a Cycle",
                "operationId": "appraisals.api.cycles.store",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/cycles/{cycle}": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Get a Cycle",
                "operationId": "appraisals.api.cycles.show",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "cycle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Update a Cycle",
                "operationId": "appraisals.api.cycles.update",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "cycle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Delete a Cycle",
                "operationId": "appraisals.api.cycles.destroy",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "cycle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/cycles/{cycle}/close": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Close a Cycle",
                "operationId": "appraisals.api.cycles.close",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "cycle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/cycles/{cycle}/launch": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Launch a Cycle",
                "operationId": "appraisals.api.cycles.launch",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.manage",
                "parameters": [
                    {
                        "name": "cycle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/goals": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "List Goals",
                "operationId": "appraisals.api.goals.index",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Create a Goal",
                "operationId": "appraisals.api.goals.store",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/goals/{goal}": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Get a Goal",
                "operationId": "appraisals.api.goals.show",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Update a Goal",
                "operationId": "appraisals.api.goals.update",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Delete a Goal",
                "operationId": "appraisals.api.goals.destroy",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/goals/{goal}/state": {
            "post": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "State a Goal",
                "operationId": "appraisals.api.goals.state",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "goal",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/mine": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Get Mine",
                "operationId": "appraisals.api.mine",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/appraisals/mine/{id}": {
            "get": {
                "tags": [
                    "Appraisals"
                ],
                "summary": "Get a Mine",
                "operationId": "appraisals.api.mine.show",
                "x-module": "appraisals",
                "x-required-permission": "appraisals.self",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/delegations": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "List Delegations",
                "operationId": "approvals.api.delegations.index",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Create a Delegation",
                "operationId": "approvals.api.delegations.store",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/delegations/{id}": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Get a Delegation",
                "operationId": "approvals.api.delegations.show",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Update a Delegation",
                "operationId": "approvals.api.delegations.update",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Delete a Delegation",
                "operationId": "approvals.api.delegations.destroy",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/inbox": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Get Inbox",
                "operationId": "approvals.api.inbox",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/policies": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "List Policies",
                "operationId": "approvals.api.policies.index",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Create a Policy",
                "operationId": "approvals.api.policies.store",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/policies/{id}": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Get a Policy",
                "operationId": "approvals.api.policies.show",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Update a Policy",
                "operationId": "approvals.api.policies.update",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Delete a Policy",
                "operationId": "approvals.api.policies.destroy",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/requests": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "List Requests",
                "operationId": "approvals.api.requests.index",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Create a Request",
                "operationId": "approvals.api.requests.store",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/requests/{id}": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Get a Request",
                "operationId": "approvals.api.requests.show",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Delete a Request",
                "operationId": "approvals.api.requests.destroy",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Cancel a Request",
                "operationId": "approvals.api.requests.cancel",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/requests/{id}/decide": {
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Decide a Request",
                "operationId": "approvals.api.requests.decide",
                "x-module": "approvals",
                "x-required-permission": "approvals.decide",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/types": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "List Types",
                "operationId": "approvals.api.types.index",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Create a Type",
                "operationId": "approvals.api.types.store",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/approvals/types/{id}": {
            "get": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Get a Type",
                "operationId": "approvals.api.types.show",
                "x-module": "approvals",
                "x-required-permission": "approvals.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Update a Type",
                "operationId": "approvals.api.types.update",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Approvals"
                ],
                "summary": "Delete a Type",
                "operationId": "approvals.api.types.destroy",
                "x-module": "approvals",
                "x-required-permission": "approvals.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/check-in": {
            "post": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Create Check In",
                "operationId": "attendance.api.check-in",
                "x-module": "attendance",
                "x-required-permission": "attendance.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/check-out": {
            "post": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Create Check Out",
                "operationId": "attendance.api.check-out",
                "x-module": "attendance",
                "x-required-permission": "attendance.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/me": {
            "get": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Get Me",
                "operationId": "attendance.api.me",
                "x-module": "attendance",
                "x-required-permission": "attendance.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/records": {
            "get": {
                "tags": [
                    "Attendance"
                ],
                "summary": "List Records",
                "operationId": "attendance.api.records.index",
                "x-module": "attendance",
                "x-required-permission": "attendance.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/records/{record}": {
            "get": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Get a Record",
                "operationId": "attendance.api.records.show",
                "x-module": "attendance",
                "x-required-permission": "attendance.view",
                "parameters": [
                    {
                        "name": "record",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/attendance/settings": {
            "get": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Get Settings",
                "operationId": "attendance.api.settings",
                "x-module": "attendance",
                "x-required-permission": "attendance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Attendance"
                ],
                "summary": "Update a Setting",
                "operationId": "attendance.api.settings.update",
                "x-module": "attendance",
                "x-required-permission": "attendance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/email/verification-notification": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Verification Notification",
                "operationId": "api.v1.auth.email.resend",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/email/verify/{id}/{hash}": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get {Hash}",
                "operationId": "api.v1.auth.email.verify",
                "x-module": "auth",
                "security": [],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "hash",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/forgot-password": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Forgot Password",
                "operationId": "api.v1.auth.forgot-password",
                "x-module": "auth",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/onboarding": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get Onboarding",
                "operationId": "api.v1.auth.onboarding.status",
                "x-module": "auth",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Onboarding",
                "operationId": "api.v1.auth.onboarding.store",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/passkeys": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get Passkeys",
                "operationId": "api.v1.auth.passkeys.index",
                "x-module": "auth",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/passkeys/{passkey}": {
            "delete": {
                "tags": [
                    "Auth"
                ],
                "summary": "Delete {Passkey}",
                "operationId": "api.v1.auth.passkeys.destroy",
                "x-module": "auth",
                "parameters": [
                    {
                        "name": "passkey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/password/change": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Change",
                "operationId": "api.v1.auth.password.change",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/password/confirm": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Confirm",
                "operationId": "api.v1.auth.password.confirm",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/profile": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get Profile",
                "operationId": "api.v1.auth.profile.show",
                "x-module": "auth",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Auth"
                ],
                "summary": "Profile",
                "operationId": "api.v1.auth.profile.update",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/register": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Register",
                "operationId": "api.v1.auth.register",
                "x-module": "auth",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/reset-password": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Reset Password",
                "operationId": "api.v1.auth.reset-password",
                "x-module": "auth",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/token": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Issue a personal access token",
                "operationId": "api.v1.token.store",
                "x-module": "auth",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TokenRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Token issued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TokenResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed, or a 2FA code is required (`two_factor: true`).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Auth"
                ],
                "summary": "Revoke the current token",
                "operationId": "api.v1.token.destroy",
                "x-module": "auth",
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/tokens": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get Tokens",
                "operationId": "api.v1.auth.tokens.index",
                "x-module": "auth",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Tokens",
                "operationId": "api.v1.auth.tokens.store",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/tokens/{token}": {
            "delete": {
                "tags": [
                    "Auth"
                ],
                "summary": "Delete {Token}",
                "operationId": "api.v1.auth.tokens.destroy",
                "x-module": "auth",
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/confirm": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Confirm",
                "operationId": "api.v1.auth.two-factor.confirm",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/disable": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Disable",
                "operationId": "api.v1.auth.two-factor.disable",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/enable": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Enable",
                "operationId": "api.v1.auth.two-factor.enable",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/qr-code": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Qr Code",
                "operationId": "api.v1.auth.two-factor.qr-code",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/recovery-codes": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Recovery Codes",
                "operationId": "api.v1.auth.two-factor.recovery-codes.show",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/recovery-codes/regenerate": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Regenerate",
                "operationId": "api.v1.auth.two-factor.recovery-codes.regenerate",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/secret": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Create Secret",
                "operationId": "api.v1.auth.two-factor.secret",
                "x-module": "auth",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/two-factor/status": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get Status",
                "operationId": "api.v1.auth.two-factor.status",
                "x-module": "auth",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/label-templates": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "List Label Templates",
                "operationId": "barcode.api.label-templates.index",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Create a Label Template",
                "operationId": "barcode.api.label-templates.store",
                "x-module": "barcode",
                "x-required-permission": "barcode.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/label-templates/{template}": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Get a Label Template",
                "operationId": "barcode.api.label-templates.show",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Update a Label Template",
                "operationId": "barcode.api.label-templates.update",
                "x-module": "barcode",
                "x-required-permission": "barcode.manage",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/mappings": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "List Mappings",
                "operationId": "barcode.api.mappings.index",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Create a Mapping",
                "operationId": "barcode.api.mappings.store",
                "x-module": "barcode",
                "x-required-permission": "barcode.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/mappings/{mapping}": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Get a Mapping",
                "operationId": "barcode.api.mappings.show",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "mapping",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/resolve": {
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Create Resolve",
                "operationId": "barcode.api.resolve",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "List Sessions",
                "operationId": "barcode.api.sessions.index",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Create a Session",
                "operationId": "barcode.api.sessions.store",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions/{session}": {
            "get": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Get a Session",
                "operationId": "barcode.api.sessions.show",
                "x-module": "barcode",
                "x-required-permission": "barcode.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Delete a Session",
                "operationId": "barcode.api.sessions.destroy",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions/{session}/cancel": {
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Cancel a Session",
                "operationId": "barcode.api.sessions.cancel",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions/{session}/confirm": {
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Confirm a Session",
                "operationId": "barcode.api.sessions.confirm",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions/{session}/scan-location": {
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Scan Location a Session",
                "operationId": "barcode.api.sessions.scan-location",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/barcode/sessions/{session}/scans": {
            "post": {
                "tags": [
                    "Barcode"
                ],
                "summary": "Create a Session",
                "operationId": "barcode.api.sessions.scans.store",
                "x-module": "barcode",
                "x-required-permission": "barcode.scan",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing": {
            "get": {
                "tags": [
                    "Billing"
                ],
                "summary": "Get Billing",
                "operationId": "api.v1.billing.index",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing/checkout": {
            "post": {
                "tags": [
                    "Billing"
                ],
                "summary": "Create Checkout",
                "operationId": "api.v1.billing.checkout",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing/plans": {
            "get": {
                "tags": [
                    "Billing"
                ],
                "summary": "Get Plans",
                "operationId": "api.v1.billing.plans",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing/portal": {
            "get": {
                "tags": [
                    "Billing"
                ],
                "summary": "Get Portal",
                "operationId": "api.v1.billing.portal",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing/trial": {
            "post": {
                "tags": [
                    "Billing"
                ],
                "summary": "Create Trial",
                "operationId": "api.v1.billing.trial",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/billing/usage": {
            "get": {
                "tags": [
                    "Billing"
                ],
                "summary": "Get Usage",
                "operationId": "api.v1.billing.usage",
                "x-module": "billing",
                "x-required-permission": "manage-billing",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/blogs": {
            "get": {
                "tags": [
                    "Blog"
                ],
                "summary": "List Blogs",
                "operationId": "blog.api.blogs.index",
                "x-module": "blog",
                "x-required-permission": "blog.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/comments": {
            "get": {
                "tags": [
                    "Blog"
                ],
                "summary": "List Comments",
                "operationId": "blog.api.comments.index",
                "x-module": "blog",
                "x-required-permission": "blog.publish",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/comments/{comment}": {
            "get": {
                "tags": [
                    "Blog"
                ],
                "summary": "Get a Comment",
                "operationId": "blog.api.comments.show",
                "x-module": "blog",
                "x-required-permission": "blog.publish",
                "parameters": [
                    {
                        "name": "comment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Blog"
                ],
                "summary": "Delete a Comment",
                "operationId": "blog.api.comments.destroy",
                "x-module": "blog",
                "x-required-permission": "blog.publish",
                "parameters": [
                    {
                        "name": "comment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/comments/{comment}/moderate": {
            "post": {
                "tags": [
                    "Blog"
                ],
                "summary": "Moderate a Comment",
                "operationId": "blog.api.comments.moderate",
                "x-module": "blog",
                "x-required-permission": "blog.publish",
                "parameters": [
                    {
                        "name": "comment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/posts": {
            "get": {
                "tags": [
                    "Blog"
                ],
                "summary": "List Posts",
                "operationId": "blog.api.posts.index",
                "x-module": "blog",
                "x-required-permission": "blog.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Blog"
                ],
                "summary": "Create a Post",
                "operationId": "blog.api.posts.store",
                "x-module": "blog",
                "x-required-permission": "blog.write",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/posts/{post}": {
            "get": {
                "tags": [
                    "Blog"
                ],
                "summary": "Get a Post",
                "operationId": "blog.api.posts.show",
                "x-module": "blog",
                "x-required-permission": "blog.view",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Blog"
                ],
                "summary": "Update a Post",
                "operationId": "blog.api.posts.update",
                "x-module": "blog",
                "x-required-permission": "blog.write",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Blog"
                ],
                "summary": "Delete a Post",
                "operationId": "blog.api.posts.destroy",
                "x-module": "blog",
                "x-required-permission": "blog.write",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/blog/posts/{post}/state": {
            "post": {
                "tags": [
                    "Blog"
                ],
                "summary": "State a Post",
                "operationId": "blog.api.posts.state",
                "x-module": "blog",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/calendar/events": {
            "get": {
                "tags": [
                    "Calendar"
                ],
                "summary": "List Events",
                "operationId": "calendar.api.events.index",
                "x-module": "calendar",
                "x-required-permission": "calendar.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Calendar"
                ],
                "summary": "Create a Event",
                "operationId": "calendar.api.events.store",
                "x-module": "calendar",
                "x-required-permission": "calendar.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/calendar/events/{event}": {
            "get": {
                "tags": [
                    "Calendar"
                ],
                "summary": "Get a Event",
                "operationId": "calendar.api.events.show",
                "x-module": "calendar",
                "x-required-permission": "calendar.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Calendar"
                ],
                "summary": "Update a Event",
                "operationId": "calendar.api.events.update",
                "x-module": "calendar",
                "x-required-permission": "calendar.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Calendar"
                ],
                "summary": "Delete a Event",
                "operationId": "calendar.api.events.destroy",
                "x-module": "calendar",
                "x-required-permission": "calendar.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/calendar/events/{event}/rsvp": {
            "post": {
                "tags": [
                    "Calendar"
                ],
                "summary": "Rsvp a Event",
                "operationId": "calendar.api.events.rsvp",
                "x-module": "calendar",
                "x-required-permission": "calendar.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contacts/contacts": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "List Contacts",
                "operationId": "contacts.api.contacts.index",
                "x-module": "contacts",
                "x-required-permission": "contacts.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Create a Contact",
                "operationId": "contacts.api.contacts.store",
                "x-module": "contacts",
                "x-required-permission": "contacts.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contacts/contacts/{id}": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Get a Contact",
                "operationId": "contacts.api.contacts.show",
                "x-module": "contacts",
                "x-required-permission": "contacts.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Update a Contact",
                "operationId": "contacts.api.contacts.update",
                "x-module": "contacts",
                "x-required-permission": "contacts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Delete a Contact",
                "operationId": "contacts.api.contacts.destroy",
                "x-module": "contacts",
                "x-required-permission": "contacts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contacts/vendors/export": {
            "get": {
                "tags": [
                    "Contacts"
                ],
                "summary": "Export a Vendor",
                "operationId": "contacts.api.vendors.export",
                "x-module": "contacts",
                "x-required-permission": "contacts.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts": {
            "get": {
                "tags": [
                    "Contracts"
                ],
                "summary": "List Contracts",
                "operationId": "contracts.api.contracts.index",
                "x-module": "contracts",
                "x-required-permission": "contracts.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Create a Contract",
                "operationId": "contracts.api.contracts.store",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}": {
            "get": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Get a Contract",
                "operationId": "contracts.api.contracts.show",
                "x-module": "contracts",
                "x-required-permission": "contracts.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/activate": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Activate a Contract",
                "operationId": "contracts.api.contracts.activate",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/approve": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Approve a Contract",
                "operationId": "contracts.api.contracts.approve",
                "x-module": "contracts",
                "x-required-permission": "contracts.approve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/back-to-draft": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Back To Draft a Contract",
                "operationId": "contracts.api.contracts.back-to-draft",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/body": {
            "put": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Body a Contract",
                "operationId": "contracts.api.contracts.body",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/send-for-signature": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Send For Signature a Contract",
                "operationId": "contracts.api.contracts.send-for-signature",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/submit": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Submit a Contract",
                "operationId": "contracts.api.contracts.submit",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/contracts/{id}/terminate": {
            "post": {
                "tags": [
                    "Contracts"
                ],
                "summary": "Terminate a Contract",
                "operationId": "contracts.api.contracts.terminate",
                "x-module": "contracts",
                "x-required-permission": "contracts.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/contracts/templates": {
            "get": {
                "tags": [
                    "Contracts"
                ],
                "summary": "List Templates",
                "operationId": "contracts.api.templates.index",
                "x-module": "contracts",
                "x-required-permission": "contracts.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/activities": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Activities",
                "operationId": "crm.api.activities.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Activity",
                "operationId": "crm.api.activities.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/activities/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Activity",
                "operationId": "crm.api.activities.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Activity",
                "operationId": "crm.api.activities.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/activities/{id}/complete": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Complete a Activity",
                "operationId": "crm.api.activities.complete",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/assignment-rules": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Assignment Rules",
                "operationId": "crm.api.assignment-rules.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Assignment Rule",
                "operationId": "crm.api.assignment-rules.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/assignment-rules/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Assignment Rule",
                "operationId": "crm.api.assignment-rules.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Assignment Rule",
                "operationId": "crm.api.assignment-rules.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Assignment Rule",
                "operationId": "crm.api.assignment-rules.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/leads": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Leads",
                "operationId": "crm.api.leads.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Lead",
                "operationId": "crm.api.leads.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/leads/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Lead",
                "operationId": "crm.api.leads.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Lead",
                "operationId": "crm.api.leads.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/leads/{id}/assign": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Assign a Lead",
                "operationId": "crm.api.leads.assign",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/leads/{id}/convert": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Convert a Lead",
                "operationId": "crm.api.leads.convert",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/leads/{id}/state": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "State a Lead",
                "operationId": "crm.api.leads.state",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/lost-reasons": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Lost Reasons",
                "operationId": "crm.api.lost-reasons.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Lost Reason",
                "operationId": "crm.api.lost-reasons.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/lost-reasons/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Lost Reason",
                "operationId": "crm.api.lost-reasons.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Lost Reason",
                "operationId": "crm.api.lost-reasons.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Lost Reason",
                "operationId": "crm.api.lost-reasons.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Opportunities",
                "operationId": "crm.api.opportunities.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Opportunity",
                "operationId": "crm.api.opportunities.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Opportunity",
                "operationId": "crm.api.opportunities.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Opportunity",
                "operationId": "crm.api.opportunities.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}/lose": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Lose a Opportunity",
                "operationId": "crm.api.opportunities.lose",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}/merge": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Merge a Opportunity",
                "operationId": "crm.api.opportunities.merge",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}/reopen": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Reopen a Opportunity",
                "operationId": "crm.api.opportunities.reopen",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}/stage": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Stage a Opportunity",
                "operationId": "crm.api.opportunities.stage",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/opportunities/{id}/win": {
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Win a Opportunity",
                "operationId": "crm.api.opportunities.win",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/reports/cycle-time": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Cycle Time a Report",
                "operationId": "crm.api.reports.cycle-time",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/reports/funnel": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Funnel a Report",
                "operationId": "crm.api.reports.funnel",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/reports/loss-analysis": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Loss Analysis a Report",
                "operationId": "crm.api.reports.loss-analysis",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/reports/reps": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Reps a Report",
                "operationId": "crm.api.reports.reps",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/reports/sources": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Sources a Report",
                "operationId": "crm.api.reports.sources",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/stages": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Stages",
                "operationId": "crm.api.stages.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Stage",
                "operationId": "crm.api.stages.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/stages/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Stage",
                "operationId": "crm.api.stages.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Stage",
                "operationId": "crm.api.stages.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Stage",
                "operationId": "crm.api.stages.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/targets": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Targets",
                "operationId": "crm.api.targets.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Target",
                "operationId": "crm.api.targets.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/targets/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Target",
                "operationId": "crm.api.targets.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Target",
                "operationId": "crm.api.targets.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Target",
                "operationId": "crm.api.targets.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/teams": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "List Teams",
                "operationId": "crm.api.teams.index",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Crm"
                ],
                "summary": "Create a Team",
                "operationId": "crm.api.teams.store",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/crm/teams/{id}": {
            "get": {
                "tags": [
                    "Crm"
                ],
                "summary": "Get a Team",
                "operationId": "crm.api.teams.show",
                "x-module": "crm",
                "x-required-permission": "crm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Crm"
                ],
                "summary": "Update a Team",
                "operationId": "crm.api.teams.update",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Crm"
                ],
                "summary": "Delete a Team",
                "operationId": "crm.api.teams.destroy",
                "x-module": "crm",
                "x-required-permission": "crm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/dashboards": {
            "get": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "List Dashboards",
                "operationId": "data_studio.api.dashboards.index",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Create a Dashboard",
                "operationId": "data_studio.api.dashboards.store",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/dashboards/{dashboard}": {
            "get": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Get a Dashboard",
                "operationId": "data_studio.api.dashboards.show",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Update a Dashboard",
                "operationId": "data_studio.api.dashboards.update",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Delete a Dashboard",
                "operationId": "data_studio.api.dashboards.destroy",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/reports": {
            "get": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "List Reports",
                "operationId": "data_studio.api.reports.index",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Create a Report",
                "operationId": "data_studio.api.reports.store",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/reports/{report}": {
            "get": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Get a Report",
                "operationId": "data_studio.api.reports.show",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Update a Report",
                "operationId": "data_studio.api.reports.update",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Delete a Report",
                "operationId": "data_studio.api.reports.destroy",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/reports/{report}/run": {
            "post": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "Run a Report",
                "operationId": "data_studio.api.reports.run",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-studio/sources": {
            "get": {
                "tags": [
                    "Data Studio"
                ],
                "summary": "List Sources",
                "operationId": "data_studio.api.sources.index",
                "x-module": "data_studio",
                "x-required-permission": "data_studio.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/devices": {
            "post": {
                "tags": [
                    "Devices"
                ],
                "summary": "Create Devices",
                "operationId": "api.v1.devices.store",
                "x-module": "devices",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Devices"
                ],
                "summary": "Delete Devices",
                "operationId": "api.v1.devices.destroy",
                "x-module": "devices",
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "List Channels",
                "operationId": "discuss.api.channels.index",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Create a Channel",
                "operationId": "discuss.api.channels.store",
                "x-module": "discuss",
                "x-required-permission": "discuss.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Get a Channel",
                "operationId": "discuss.api.channels.show",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Update a Channel",
                "operationId": "discuss.api.channels.update",
                "x-module": "discuss",
                "x-required-permission": "discuss.manage",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/archive": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Archive a Channel",
                "operationId": "discuss.api.channels.archive",
                "x-module": "discuss",
                "x-required-permission": "discuss.manage",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/join": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Join a Channel",
                "operationId": "discuss.api.channels.join",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/leave": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Leave a Channel",
                "operationId": "discuss.api.channels.leave",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/members": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Add a Channel",
                "operationId": "discuss.api.channels.members.add",
                "x-module": "discuss",
                "x-required-permission": "discuss.manage",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/members/{user}": {
            "delete": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Remove a Channel",
                "operationId": "discuss.api.channels.members.remove",
                "x-module": "discuss",
                "x-required-permission": "discuss.manage",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/messages": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "List Channels",
                "operationId": "discuss.api.channels.messages.index",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Create a Channel",
                "operationId": "discuss.api.channels.messages.store",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/channels/{channel}/read": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Read a Channel",
                "operationId": "discuss.api.channels.read",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/chatter": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "List Chatter",
                "operationId": "discuss.api.chatter.index",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Create a Chatter",
                "operationId": "discuss.api.chatter.store",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/chatter/{entry}": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Get a Chatter",
                "operationId": "discuss.api.chatter.show",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "entry",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/dm": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "List Dm",
                "operationId": "discuss.api.dm.index",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Create a Dm",
                "operationId": "discuss.api.dm.store",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/dm/{conversation}": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Get a Dm",
                "operationId": "discuss.api.dm.show",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "conversation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/dm/{conversation}/messages": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "List Dm",
                "operationId": "discuss.api.dm.messages.index",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "conversation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Create a Dm",
                "operationId": "discuss.api.dm.messages.store",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "conversation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/dm/{conversation}/read": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Read a Dm",
                "operationId": "discuss.api.dm.read",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "conversation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/messages/{message}": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Get a Message",
                "operationId": "discuss.api.messages.show",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Update a Message",
                "operationId": "discuss.api.messages.update",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Delete a Message",
                "operationId": "discuss.api.messages.destroy",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/messages/{message}/reactions": {
            "post": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Reactions a Message",
                "operationId": "discuss.api.messages.reactions",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/discuss/messages/{message}/thread": {
            "get": {
                "tags": [
                    "Discuss"
                ],
                "summary": "Thread a Message",
                "operationId": "discuss.api.messages.thread",
                "x-module": "discuss",
                "x-required-permission": "discuss.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/documents": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "List Documents",
                "operationId": "documents.api.documents.index",
                "x-module": "documents",
                "x-required-permission": "documents.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/documents/{document}": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Get a Document",
                "operationId": "documents.api.documents.show",
                "x-module": "documents",
                "x-required-permission": "documents.view",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Documents"
                ],
                "summary": "Update a Document",
                "operationId": "documents.api.documents.update",
                "x-module": "documents",
                "x-required-permission": "documents.upload",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Delete a Document",
                "operationId": "documents.api.documents.destroy",
                "x-module": "documents",
                "x-required-permission": "documents.manage",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/documents/{document}/access-log": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Access Log a Document",
                "operationId": "documents.api.documents.access-log",
                "x-module": "documents",
                "x-required-permission": "documents.view",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/documents/{document}/restore": {
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Restore a Document",
                "operationId": "documents.api.documents.restore",
                "x-module": "documents",
                "x-required-permission": "documents.manage",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/documents/{document}/share": {
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Share a Document",
                "operationId": "documents.api.documents.share",
                "x-module": "documents",
                "x-required-permission": "documents.manage",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Unshare a Document",
                "operationId": "documents.api.documents.unshare",
                "x-module": "documents",
                "x-required-permission": "documents.manage",
                "parameters": [
                    {
                        "name": "document",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/folders": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "List Folders",
                "operationId": "documents.api.folders.index",
                "x-module": "documents",
                "x-required-permission": "documents.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Create a Folder",
                "operationId": "documents.api.folders.store",
                "x-module": "documents",
                "x-required-permission": "documents.upload",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/folders/{folder}": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Get a Folder",
                "operationId": "documents.api.folders.show",
                "x-module": "documents",
                "x-required-permission": "documents.view",
                "parameters": [
                    {
                        "name": "folder",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Documents"
                ],
                "summary": "Update a Folder",
                "operationId": "documents.api.folders.update",
                "x-module": "documents",
                "x-required-permission": "documents.upload",
                "parameters": [
                    {
                        "name": "folder",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Delete a Folder",
                "operationId": "documents.api.folders.destroy",
                "x-module": "documents",
                "x-required-permission": "documents.manage",
                "parameters": [
                    {
                        "name": "folder",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/documents/upload": {
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Create Upload",
                "operationId": "documents.api.upload",
                "x-module": "documents",
                "x-required-permission": "documents.upload",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/addresses": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Addresses",
                "operationId": "ecommerce.api.addresses.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Address",
                "operationId": "ecommerce.api.addresses.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/addresses/{address}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Address",
                "operationId": "ecommerce.api.addresses.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "address",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Address",
                "operationId": "ecommerce.api.addresses.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "address",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/attributes": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Attributes",
                "operationId": "ecommerce.api.attributes.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Attribute",
                "operationId": "ecommerce.api.attributes.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/carts": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Cart",
                "operationId": "ecommerce.api.carts.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/carts/{cart}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Cart",
                "operationId": "ecommerce.api.carts.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/carts/{cart}/coupon": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Coupon a Cart",
                "operationId": "ecommerce.api.carts.coupon",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/carts/{cart}/lines/{line}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Cart",
                "operationId": "ecommerce.api.carts.lines.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "line",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Cart",
                "operationId": "ecommerce.api.carts.lines.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "line",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/carts/{cart}/shipping": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Shipping a Cart",
                "operationId": "ecommerce.api.carts.shipping",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/categories": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Categories",
                "operationId": "ecommerce.api.categories.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Category",
                "operationId": "ecommerce.api.categories.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/categories/{category}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Category",
                "operationId": "ecommerce.api.categories.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Category",
                "operationId": "ecommerce.api.categories.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/coupons": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Coupons",
                "operationId": "ecommerce.api.coupons.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Coupon",
                "operationId": "ecommerce.api.coupons.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/coupons/{coupon}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Coupon",
                "operationId": "ecommerce.api.coupons.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "coupon",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Coupon",
                "operationId": "ecommerce.api.coupons.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "coupon",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/customers": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Customers",
                "operationId": "ecommerce.api.customers.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Customer",
                "operationId": "ecommerce.api.customers.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/customers/{id}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Customer",
                "operationId": "ecommerce.api.customers.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/findings/{finding}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Doctor",
                "operationId": "ecommerce.api.doctor.findings.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "finding",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/findings/{finding}/ai-apply": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Ai Apply a Doctor",
                "operationId": "ecommerce.api.doctor.findings.ai-apply",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "finding",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/findings/{finding}/ai-proposal": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Ai Proposal a Doctor",
                "operationId": "ecommerce.api.doctor.findings.ai-proposal",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "finding",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/findings/{finding}/dismiss": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Dismiss a Doctor",
                "operationId": "ecommerce.api.doctor.findings.dismiss",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "finding",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/findings/{finding}/fix": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Fix a Doctor",
                "operationId": "ecommerce.api.doctor.findings.fix",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "finding",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/scans": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Doctor",
                "operationId": "ecommerce.api.doctor.scans.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Doctor",
                "operationId": "ecommerce.api.doctor.scans.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/scans/{scan}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Doctor",
                "operationId": "ecommerce.api.doctor.scans.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "scan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/scans/{scan}/findings": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Findings a Doctor",
                "operationId": "ecommerce.api.doctor.scans.findings",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "scan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/doctor/scans/{scan}/rescan": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Rescan a Doctor",
                "operationId": "ecommerce.api.doctor.scans.rescan",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "scan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Orders",
                "operationId": "ecommerce.api.orders.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Order",
                "operationId": "ecommerce.api.orders.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/quick": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Quick a Order",
                "operationId": "ecommerce.api.orders.quick",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Order",
                "operationId": "ecommerce.api.orders.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/cancel": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Cancel a Order",
                "operationId": "ecommerce.api.orders.cancel",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/complete": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Complete a Order",
                "operationId": "ecommerce.api.orders.complete",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/confirm": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Confirm a Order",
                "operationId": "ecommerce.api.orders.confirm",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/contact": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Contact a Order",
                "operationId": "ecommerce.api.orders.contact",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/deliver": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Deliver a Order",
                "operationId": "ecommerce.api.orders.deliver",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/invoice": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Invoice a Order",
                "operationId": "ecommerce.api.orders.invoice",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/mark-paid": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Mark Paid a Order",
                "operationId": "ecommerce.api.orders.mark-paid",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/refund": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Refund a Order",
                "operationId": "ecommerce.api.orders.refund",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/return": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Return a Order",
                "operationId": "ecommerce.api.orders.return",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/orders/{order}/ship": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Ship a Order",
                "operationId": "ecommerce.api.orders.ship",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/price-lists": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Price Lists",
                "operationId": "ecommerce.api.price-lists.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Price List",
                "operationId": "ecommerce.api.price-lists.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/price-lists/{priceList}": {
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Price List",
                "operationId": "ecommerce.api.price-lists.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "priceList",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Products",
                "operationId": "ecommerce.api.products.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Product",
                "operationId": "ecommerce.api.products.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Product",
                "operationId": "ecommerce.api.products.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Product",
                "operationId": "ecommerce.api.products.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Product",
                "operationId": "ecommerce.api.products.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-description": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Generate a Product",
                "operationId": "ecommerce.api.products.ai-description.generate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-description/apply": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Apply a Product",
                "operationId": "ecommerce.api.products.ai-description.apply",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-image": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Generate a Product",
                "operationId": "ecommerce.api.products.ai-image.generate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-image-providers": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Providers a Product",
                "operationId": "ecommerce.api.products.ai-image.providers",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-image/apply": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Apply a Product",
                "operationId": "ecommerce.api.products.ai-image.apply",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-seo": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Generate a Product",
                "operationId": "ecommerce.api.products.ai-seo.generate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/products/{product}/ai-seo/apply": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Apply a Product",
                "operationId": "ecommerce.api.products.ai-seo.apply",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/reviews": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Reviews",
                "operationId": "ecommerce.api.reviews.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Review",
                "operationId": "ecommerce.api.reviews.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/reviews/{review}/moderate": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Moderate a Review",
                "operationId": "ecommerce.api.reviews.moderate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "review",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/settings": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Setting",
                "operationId": "ecommerce.api.settings.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Setting",
                "operationId": "ecommerce.api.settings.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/shipping-zones": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Shipping Zones",
                "operationId": "ecommerce.api.shipping-zones.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Shipping Zone",
                "operationId": "ecommerce.api.shipping-zones.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/shipping-zones/{zone}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Shipping Zone",
                "operationId": "ecommerce.api.shipping-zones.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "zone",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Shipping Zone",
                "operationId": "ecommerce.api.shipping-zones.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "zone",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Stores",
                "operationId": "ecommerce.api.stores.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Store",
                "operationId": "ecommerce.api.stores.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Store",
                "operationId": "ecommerce.api.stores.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/payments": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Stores",
                "operationId": "ecommerce.api.stores.gateways.payments.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/payments/{config}": {
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "config",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "config",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/payments/{config}/set-default": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Set Default a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.set-default",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "config",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/payments/{config}/test": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Test a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.test",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "config",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/payments/{config}/toggle-active": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Toggle Active a Store",
                "operationId": "ecommerce.api.stores.gateways.payments.toggle-active",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "config",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/{type}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Stores",
                "operationId": "ecommerce.api.stores.gateways.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Save a Store",
                "operationId": "ecommerce.api.stores.gateways.save",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/{type}/{connection}": {
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Store",
                "operationId": "ecommerce.api.stores.gateways.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "connection",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/{type}/{connection}/set-default": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Set Default a Store",
                "operationId": "ecommerce.api.stores.gateways.set-default",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "connection",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/{type}/{connection}/test-send": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Test Send a Store",
                "operationId": "ecommerce.api.stores.gateways.test-send",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "connection",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/gateways/{type}/{connection}/toggle-active": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Toggle Active a Store",
                "operationId": "ecommerce.api.stores.gateways.toggle-active",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "connection",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/settings": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Store",
                "operationId": "ecommerce.api.stores.settings.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Store",
                "operationId": "ecommerce.api.stores.settings.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/stores/{shop}/theme/reset": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Reset a Store",
                "operationId": "ecommerce.api.stores.theme.reset",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "shop",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Themes",
                "operationId": "ecommerce.api.themes.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Create a Theme",
                "operationId": "ecommerce.api.themes.store",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/generate": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Generate a Theme",
                "operationId": "ecommerce.api.themes.generate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/{theme}": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Get a Theme",
                "operationId": "ecommerce.api.themes.show",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Update a Theme",
                "operationId": "ecommerce.api.themes.update",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Delete a Theme",
                "operationId": "ecommerce.api.themes.destroy",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/{theme}/apply": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Apply a Theme",
                "operationId": "ecommerce.api.themes.apply",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/{theme}/duplicate": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Duplicate a Theme",
                "operationId": "ecommerce.api.themes.duplicate",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/{theme}/preview": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Preview a Theme",
                "operationId": "ecommerce.api.themes.preview",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/themes/{theme}/sections/move": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Move a Theme",
                "operationId": "ecommerce.api.themes.sections.move",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "theme",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/wishlist": {
            "get": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "List Wishlist",
                "operationId": "ecommerce.api.wishlist.index",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ecommerce/wishlist/toggle": {
            "post": {
                "tags": [
                    "Ecommerce"
                ],
                "summary": "Toggle a Wishlist",
                "operationId": "ecommerce.api.wishlist.toggle",
                "x-module": "ecommerce",
                "x-required-permission": "ecommerce.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "List Campaigns",
                "operationId": "email_marketing.api.campaigns.index",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Create a Campaign",
                "operationId": "email_marketing.api.campaigns.store",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Get a Campaign",
                "operationId": "email_marketing.api.campaigns.show",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Update a Campaign",
                "operationId": "email_marketing.api.campaigns.update",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/cancel": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Cancel a Campaign",
                "operationId": "email_marketing.api.campaigns.cancel",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/duplicate": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Duplicate a Campaign",
                "operationId": "email_marketing.api.campaigns.duplicate",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/pause": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Pause a Campaign",
                "operationId": "email_marketing.api.campaigns.pause",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/pick-winner": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Pick Winner a Campaign",
                "operationId": "email_marketing.api.campaigns.pick-winner",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/recipients": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Recipients a Campaign",
                "operationId": "email_marketing.api.campaigns.recipients",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/resume": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Resume a Campaign",
                "operationId": "email_marketing.api.campaigns.resume",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/schedule": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Schedule a Campaign",
                "operationId": "email_marketing.api.campaigns.schedule",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/send": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Send a Campaign",
                "operationId": "email_marketing.api.campaigns.send",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/campaigns/{campaign}/test-send": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Test Send a Campaign",
                "operationId": "email_marketing.api.campaigns.test-send",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/lists": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "List Lists",
                "operationId": "email_marketing.api.lists.index",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Create a List",
                "operationId": "email_marketing.api.lists.store",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/lists/{list}": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Get a List",
                "operationId": "email_marketing.api.lists.show",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Update a List",
                "operationId": "email_marketing.api.lists.update",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/lists/{list}/members": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Members a List",
                "operationId": "email_marketing.api.lists.members",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/lists/{list}/subscribe": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Subscribe a List",
                "operationId": "email_marketing.api.lists.subscribe",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/lists/{list}/unsubscribe": {
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Unsubscribe a List",
                "operationId": "email_marketing.api.lists.unsubscribe",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/segments": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "List Segments",
                "operationId": "email_marketing.api.segments.index",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Create a Segment",
                "operationId": "email_marketing.api.segments.store",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/segments/{segment}": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Get a Segment",
                "operationId": "email_marketing.api.segments.show",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "segment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Update a Segment",
                "operationId": "email_marketing.api.segments.update",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "segment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/senders": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "List Senders",
                "operationId": "email_marketing.api.senders.index",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Create a Sender",
                "operationId": "email_marketing.api.senders.store",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/senders/{sender}": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Get a Sender",
                "operationId": "email_marketing.api.senders.show",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Update a Sender",
                "operationId": "email_marketing.api.senders.update",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/templates": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "List Templates",
                "operationId": "email_marketing.api.templates.index",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Create a Template",
                "operationId": "email_marketing.api.templates.store",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/email-marketing/templates/{template}": {
            "get": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Get a Template",
                "operationId": "email_marketing.api.templates.show",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.view",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Email Marketing"
                ],
                "summary": "Update a Template",
                "operationId": "email_marketing.api.templates.update",
                "x-module": "email_marketing",
                "x-required-permission": "email_marketing.manage",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events": {
            "get": {
                "tags": [
                    "Events"
                ],
                "summary": "List Events",
                "operationId": "events.api.events.index",
                "x-module": "events",
                "x-required-permission": "events.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Create a Event",
                "operationId": "events.api.events.store",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}": {
            "get": {
                "tags": [
                    "Events"
                ],
                "summary": "Get a Event",
                "operationId": "events.api.events.show",
                "x-module": "events",
                "x-required-permission": "events.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Events"
                ],
                "summary": "Update a Event",
                "operationId": "events.api.events.update",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Events"
                ],
                "summary": "Delete a Event",
                "operationId": "events.api.events.destroy",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/check-in": {
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Check In a Event",
                "operationId": "events.api.events.check-in",
                "x-module": "events",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/registrations": {
            "get": {
                "tags": [
                    "Events"
                ],
                "summary": "List Events",
                "operationId": "events.api.events.registrations.index",
                "x-module": "events",
                "x-required-permission": "events.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Create a Event",
                "operationId": "events.api.events.registrations.store",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/registrations/{registration}/status": {
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Status a Event",
                "operationId": "events.api.events.registrations.status",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "registration",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/sessions": {
            "get": {
                "tags": [
                    "Events"
                ],
                "summary": "List Events",
                "operationId": "events.api.events.sessions.index",
                "x-module": "events",
                "x-required-permission": "events.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Create a Event",
                "operationId": "events.api.events.sessions.store",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/status": {
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Status a Event",
                "operationId": "events.api.events.status",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/events/events/{event}/tickets": {
            "get": {
                "tags": [
                    "Events"
                ],
                "summary": "List Events",
                "operationId": "events.api.events.tickets.index",
                "x-module": "events",
                "x-required-permission": "events.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Events"
                ],
                "summary": "Create a Event",
                "operationId": "events.api.events.tickets.store",
                "x-module": "events",
                "x-required-permission": "events.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/approvals": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Get Approvals",
                "operationId": "expenses.api.approvals",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/approvals/{report}/approve": {
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Approve a Approval",
                "operationId": "expenses.api.approvals.approve",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/approvals/{report}/refuse": {
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Refuse a Approval",
                "operationId": "expenses.api.approvals.refuse",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/categories": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Get Categories",
                "operationId": "expenses.api.categories",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Create a Category",
                "operationId": "expenses.api.categories.store",
                "x-module": "expenses",
                "x-required-permission": "expenses.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/expenses": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "List Expenses",
                "operationId": "expenses.api.expenses.index",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Create a Expense",
                "operationId": "expenses.api.expenses.store",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/expenses/{expense}": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Get a Expense",
                "operationId": "expenses.api.expenses.show",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "expense",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Delete a Expense",
                "operationId": "expenses.api.expenses.destroy",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "expense",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/reports": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "List Reports",
                "operationId": "expenses.api.reports.index",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Create a Report",
                "operationId": "expenses.api.reports.store",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/reports/{report}": {
            "get": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Get a Report",
                "operationId": "expenses.api.reports.show",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/reports/{report}/mark-paid": {
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Mark Paid a Report",
                "operationId": "expenses.api.reports.mark-paid",
                "x-module": "expenses",
                "x-required-permission": "expenses.approve",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/expenses/reports/{report}/submit": {
            "post": {
                "tags": [
                    "Expenses"
                ],
                "summary": "Submit a Report",
                "operationId": "expenses.api.reports.submit",
                "x-module": "expenses",
                "x-required-permission": "expenses.self",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/answers/{answer}/answer": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Answer a Answer",
                "operationId": "field_service.api.answers.answer",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "answer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/checklists": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "List Checklists",
                "operationId": "field_service.api.checklists.index",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Create a Checklist",
                "operationId": "field_service.api.checklists.store",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/checklists/{checklist}": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Get a Checklist",
                "operationId": "field_service.api.checklists.show",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "checklist",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Update a Checklist",
                "operationId": "field_service.api.checklists.update",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "checklist",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Delete a Checklist",
                "operationId": "field_service.api.checklists.destroy",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "checklist",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/parts/{part}": {
            "delete": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Delete a Part",
                "operationId": "field_service.api.parts.destroy",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "part",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/settings": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Get Settings",
                "operationId": "field_service.api.settings",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "List Tasks",
                "operationId": "field_service.api.tasks.index",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Create a Task",
                "operationId": "field_service.api.tasks.store",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Get a Task",
                "operationId": "field_service.api.tasks.show",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Update a Task",
                "operationId": "field_service.api.tasks.update",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Delete a Task",
                "operationId": "field_service.api.tasks.destroy",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/assign": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Assign a Task",
                "operationId": "field_service.api.tasks.assign",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/cancel": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Cancel a Task",
                "operationId": "field_service.api.tasks.cancel",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/checklists": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Attach a Task",
                "operationId": "field_service.api.tasks.checklists.attach",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/invoice": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Invoice a Task",
                "operationId": "field_service.api.tasks.invoice",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/parts": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Create a Task",
                "operationId": "field_service.api.tasks.parts.store",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/report/send": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Send a Task",
                "operationId": "field_service.api.tasks.report.send",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/schedule": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Schedule a Task",
                "operationId": "field_service.api.tasks.schedule",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/sign": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Sign a Task",
                "operationId": "field_service.api.tasks.sign",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/state": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "State a Task",
                "operationId": "field_service.api.tasks.state",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/tasks/{task}/timer/start": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Start a Task",
                "operationId": "field_service.api.tasks.timer.start",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/teams": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "List Teams",
                "operationId": "field_service.api.teams.index",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Create a Team",
                "operationId": "field_service.api.teams.store",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/teams/{team}": {
            "get": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Get a Team",
                "operationId": "field_service.api.teams.show",
                "x-module": "field_service",
                "x-required-permission": "field_service.view",
                "parameters": [
                    {
                        "name": "team",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Update a Team",
                "operationId": "field_service.api.teams.update",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "team",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Delete a Team",
                "operationId": "field_service.api.teams.destroy",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "team",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/field-service/times/{time}/stop": {
            "post": {
                "tags": [
                    "Field Service"
                ],
                "summary": "Stop a Time",
                "operationId": "field_service.api.times.stop",
                "x-module": "field_service",
                "x-required-permission": "field_service.manage",
                "parameters": [
                    {
                        "name": "time",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/fleet/costs/{cost}": {
            "delete": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Delete a Cost",
                "operationId": "fleet.api.costs.destroy",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "cost",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/fleet/vehicles": {
            "get": {
                "tags": [
                    "Fleet"
                ],
                "summary": "List Vehicles",
                "operationId": "fleet.api.vehicles.index",
                "x-module": "fleet",
                "x-required-permission": "fleet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Create a Vehicle",
                "operationId": "fleet.api.vehicles.store",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/fleet/vehicles/{vehicle}": {
            "get": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Get a Vehicle",
                "operationId": "fleet.api.vehicles.show",
                "x-module": "fleet",
                "x-required-permission": "fleet.view",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Update a Vehicle",
                "operationId": "fleet.api.vehicles.update",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Delete a Vehicle",
                "operationId": "fleet.api.vehicles.destroy",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/fleet/vehicles/{vehicle}/assign-driver": {
            "post": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Assign Driver a Vehicle",
                "operationId": "fleet.api.vehicles.assign-driver",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/fleet/vehicles/{vehicle}/costs": {
            "get": {
                "tags": [
                    "Fleet"
                ],
                "summary": "List Vehicles",
                "operationId": "fleet.api.vehicles.costs.index",
                "x-module": "fleet",
                "x-required-permission": "fleet.view",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Fleet"
                ],
                "summary": "Create a Vehicle",
                "operationId": "fleet.api.vehicles.costs.store",
                "x-module": "fleet",
                "x-required-permission": "fleet.manage",
                "parameters": [
                    {
                        "name": "vehicle",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/events": {
            "get": {
                "tags": [
                    "Flow"
                ],
                "summary": "Get Events",
                "operationId": "flow.api.events",
                "x-module": "flow",
                "x-required-permission": "flow.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/runs/{run}": {
            "get": {
                "tags": [
                    "Flow"
                ],
                "summary": "Get a Run",
                "operationId": "flow.api.runs.show",
                "x-module": "flow",
                "x-required-permission": "flow.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows": {
            "get": {
                "tags": [
                    "Flow"
                ],
                "summary": "List Workflows",
                "operationId": "flow.api.workflows.index",
                "x-module": "flow",
                "x-required-permission": "flow.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Flow"
                ],
                "summary": "Create a Workflow",
                "operationId": "flow.api.workflows.store",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}": {
            "get": {
                "tags": [
                    "Flow"
                ],
                "summary": "Get a Workflow",
                "operationId": "flow.api.workflows.show",
                "x-module": "flow",
                "x-required-permission": "flow.view",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Flow"
                ],
                "summary": "Update a Workflow",
                "operationId": "flow.api.workflows.update",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Flow"
                ],
                "summary": "Delete a Workflow",
                "operationId": "flow.api.workflows.destroy",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}/disable": {
            "post": {
                "tags": [
                    "Flow"
                ],
                "summary": "Disable a Workflow",
                "operationId": "flow.api.workflows.disable",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}/enable": {
            "post": {
                "tags": [
                    "Flow"
                ],
                "summary": "Enable a Workflow",
                "operationId": "flow.api.workflows.enable",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}/runs": {
            "get": {
                "tags": [
                    "Flow"
                ],
                "summary": "List Workflows",
                "operationId": "flow.api.workflows.runs.index",
                "x-module": "flow",
                "x-required-permission": "flow.view",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}/steps": {
            "post": {
                "tags": [
                    "Flow"
                ],
                "summary": "Create a Workflow",
                "operationId": "flow.api.workflows.steps.store",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/flow/workflows/{workflow}/steps/{step}": {
            "put": {
                "tags": [
                    "Flow"
                ],
                "summary": "Update a Workflow",
                "operationId": "flow.api.workflows.steps.update",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "step",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Flow"
                ],
                "summary": "Delete a Workflow",
                "operationId": "flow.api.workflows.steps.destroy",
                "x-module": "flow",
                "x-required-permission": "flow.manage",
                "parameters": [
                    {
                        "name": "workflow",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "step",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms": {
            "get": {
                "tags": [
                    "Forms"
                ],
                "summary": "List Forms",
                "operationId": "forms.api.forms.index",
                "x-module": "forms",
                "x-required-permission": "forms.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Forms"
                ],
                "summary": "Create a Form",
                "operationId": "forms.api.forms.store",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/submissions/{submission}": {
            "get": {
                "tags": [
                    "Forms"
                ],
                "summary": "Get a Form",
                "operationId": "forms.api.forms.submissions.show",
                "x-module": "forms",
                "x-required-permission": "forms.view",
                "parameters": [
                    {
                        "name": "submission",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/submissions/{submission}/state": {
            "post": {
                "tags": [
                    "Forms"
                ],
                "summary": "State a Form",
                "operationId": "forms.api.forms.submissions.state",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "submission",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/{form}": {
            "get": {
                "tags": [
                    "Forms"
                ],
                "summary": "Get a Form",
                "operationId": "forms.api.forms.show",
                "x-module": "forms",
                "x-required-permission": "forms.view",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Forms"
                ],
                "summary": "Update a Form",
                "operationId": "forms.api.forms.update",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Forms"
                ],
                "summary": "Delete a Form",
                "operationId": "forms.api.forms.destroy",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/{form}/rotate-token": {
            "post": {
                "tags": [
                    "Forms"
                ],
                "summary": "Rotate Token a Form",
                "operationId": "forms.api.forms.rotate-token",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/{form}/status": {
            "post": {
                "tags": [
                    "Forms"
                ],
                "summary": "Status a Form",
                "operationId": "forms.api.forms.status",
                "x-module": "forms",
                "x-required-permission": "forms.manage",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forms/{form}/submissions": {
            "get": {
                "tags": [
                    "Forms"
                ],
                "summary": "List Forms",
                "operationId": "forms.api.forms.submissions.index",
                "x-module": "forms",
                "x-required-permission": "forms.view",
                "parameters": [
                    {
                        "name": "form",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/answers/{answer}/accept": {
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Accept a Answer",
                "operationId": "forum.api.answers.accept",
                "x-module": "forum",
                "x-required-permission": "forum.participate",
                "parameters": [
                    {
                        "name": "answer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/forums": {
            "get": {
                "tags": [
                    "Forum"
                ],
                "summary": "List Forums",
                "operationId": "forum.api.forums.index",
                "x-module": "forum",
                "x-required-permission": "forum.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/forums/{forum}": {
            "get": {
                "tags": [
                    "Forum"
                ],
                "summary": "Get a Forum",
                "operationId": "forum.api.forums.show",
                "x-module": "forum",
                "x-required-permission": "forum.view",
                "parameters": [
                    {
                        "name": "forum",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/forums/{forum}/questions": {
            "get": {
                "tags": [
                    "Forum"
                ],
                "summary": "List Forums",
                "operationId": "forum.api.forums.questions.index",
                "x-module": "forum",
                "x-required-permission": "forum.view",
                "parameters": [
                    {
                        "name": "forum",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Create a Question",
                "operationId": "forum.api.questions.store",
                "x-module": "forum",
                "x-required-permission": "forum.participate",
                "parameters": [
                    {
                        "name": "forum",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/posts/{post}/vote": {
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Vote a Post",
                "operationId": "forum.api.posts.vote",
                "x-module": "forum",
                "x-required-permission": "forum.participate",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/questions/{question}": {
            "get": {
                "tags": [
                    "Forum"
                ],
                "summary": "Get a Question",
                "operationId": "forum.api.questions.show",
                "x-module": "forum",
                "x-required-permission": "forum.view",
                "parameters": [
                    {
                        "name": "question",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/questions/{question}/answers": {
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Create a Question",
                "operationId": "forum.api.questions.answers.store",
                "x-module": "forum",
                "x-required-permission": "forum.participate",
                "parameters": [
                    {
                        "name": "question",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/questions/{question}/close": {
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Close a Question",
                "operationId": "forum.api.questions.close",
                "x-module": "forum",
                "x-required-permission": "forum.moderate",
                "parameters": [
                    {
                        "name": "question",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/forum/questions/{question}/hide": {
            "post": {
                "tags": [
                    "Forum"
                ],
                "summary": "Hide a Question",
                "operationId": "forum.api.questions.hide",
                "x-module": "forum",
                "x-required-permission": "forum.moderate",
                "parameters": [
                    {
                        "name": "question",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/canned-replies": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "List Canned Replies",
                "operationId": "helpdesk.api.canned-replies.index",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/canned-replies/{reply}": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Get a Canned Reply",
                "operationId": "helpdesk.api.canned-replies.show",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "reply",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/canned-replies": {
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Create a Setting",
                "operationId": "helpdesk.api.settings.canned-replies.store",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/canned-replies/{reply}": {
            "delete": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Delete a Setting",
                "operationId": "helpdesk.api.settings.canned-replies.destroy",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "reply",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/sla-policies": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "List Settings",
                "operationId": "helpdesk.api.settings.sla-policies.index",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Create a Setting",
                "operationId": "helpdesk.api.settings.sla-policies.store",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/sla-policies/{policy}": {
            "delete": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Delete a Setting",
                "operationId": "helpdesk.api.settings.sla-policies.destroy",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "policy",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/teams": {
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Create a Setting",
                "operationId": "helpdesk.api.settings.teams.store",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/settings/teams/{team}": {
            "put": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Update a Setting",
                "operationId": "helpdesk.api.settings.teams.update",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.manage",
                "parameters": [
                    {
                        "name": "team",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/teams": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "List Teams",
                "operationId": "helpdesk.api.teams.index",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/teams/{team}": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Get a Team",
                "operationId": "helpdesk.api.teams.show",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "team",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/tickets": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "List Tickets",
                "operationId": "helpdesk.api.tickets.index",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Create a Ticket",
                "operationId": "helpdesk.api.tickets.store",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.agent",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/tickets/{ticket}": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Get a Ticket",
                "operationId": "helpdesk.api.tickets.show",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Update a Ticket",
                "operationId": "helpdesk.api.tickets.update",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.agent",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/tickets/{ticket}/assign": {
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Assign a Ticket",
                "operationId": "helpdesk.api.tickets.assign",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.agent",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/tickets/{ticket}/messages": {
            "get": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "List Tickets",
                "operationId": "helpdesk.api.tickets.messages.index",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/helpdesk/tickets/{ticket}/replies": {
            "post": {
                "tags": [
                    "Helpdesk"
                ],
                "summary": "Reply a Ticket",
                "operationId": "helpdesk.api.tickets.reply",
                "x-module": "helpdesk",
                "x-required-permission": "helpdesk.view",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/contracts": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "List Contracts",
                "operationId": "hr.api.contracts.index",
                "x-module": "hr",
                "x-required-permission": "hr.contracts",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Hr"
                ],
                "summary": "Create a Contract",
                "operationId": "hr.api.contracts.store",
                "x-module": "hr",
                "x-required-permission": "hr.contracts",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/contracts/{contract}": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "Get a Contract",
                "operationId": "hr.api.contracts.show",
                "x-module": "hr",
                "x-required-permission": "hr.contracts",
                "parameters": [
                    {
                        "name": "contract",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/contracts/{contract}/activate": {
            "post": {
                "tags": [
                    "Hr"
                ],
                "summary": "Activate a Contract",
                "operationId": "hr.api.contracts.activate",
                "x-module": "hr",
                "x-required-permission": "hr.contracts",
                "parameters": [
                    {
                        "name": "contract",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/departments": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "List Departments",
                "operationId": "hr.api.departments.index",
                "x-module": "hr",
                "x-required-permission": "hr.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Hr"
                ],
                "summary": "Create a Department",
                "operationId": "hr.api.departments.store",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/departments/{department}": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "Get a Department",
                "operationId": "hr.api.departments.show",
                "x-module": "hr",
                "x-required-permission": "hr.view",
                "parameters": [
                    {
                        "name": "department",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Hr"
                ],
                "summary": "Update a Department",
                "operationId": "hr.api.departments.update",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "department",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Hr"
                ],
                "summary": "Delete a Department",
                "operationId": "hr.api.departments.destroy",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "department",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/employees": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "List Employees",
                "operationId": "hr.api.employees.index",
                "x-module": "hr",
                "x-required-permission": "hr.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Hr"
                ],
                "summary": "Create a Employee",
                "operationId": "hr.api.employees.store",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/employees/{employee}": {
            "get": {
                "tags": [
                    "Hr"
                ],
                "summary": "Get a Employee",
                "operationId": "hr.api.employees.show",
                "x-module": "hr",
                "x-required-permission": "hr.view",
                "parameters": [
                    {
                        "name": "employee",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Hr"
                ],
                "summary": "Update a Employee",
                "operationId": "hr.api.employees.update",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "employee",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/hr/employees/{employee}/terminate": {
            "post": {
                "tags": [
                    "Hr"
                ],
                "summary": "Terminate a Employee",
                "operationId": "hr.api.employees.terminate",
                "x-module": "hr",
                "x-required-permission": "hr.manage",
                "parameters": [
                    {
                        "name": "employee",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/identity/providers": {
            "get": {
                "tags": [
                    "Identity"
                ],
                "summary": "List Providers",
                "operationId": "identity.api.providers.index",
                "x-module": "identity",
                "x-required-permission": "identity.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Identity"
                ],
                "summary": "Create a Provider",
                "operationId": "identity.api.providers.store",
                "x-module": "identity",
                "x-required-permission": "identity.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/identity/providers/{provider}": {
            "get": {
                "tags": [
                    "Identity"
                ],
                "summary": "Get a Provider",
                "operationId": "identity.api.providers.show",
                "x-module": "identity",
                "x-required-permission": "identity.view",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Identity"
                ],
                "summary": "Update a Provider",
                "operationId": "identity.api.providers.update",
                "x-module": "identity",
                "x-required-permission": "identity.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Identity"
                ],
                "summary": "Delete a Provider",
                "operationId": "identity.api.providers.destroy",
                "x-module": "identity",
                "x-required-permission": "identity.manage",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/identity/sessions": {
            "get": {
                "tags": [
                    "Identity"
                ],
                "summary": "List Sessions",
                "operationId": "identity.api.sessions.index",
                "x-module": "identity",
                "x-required-permission": "identity.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/identity/sessions/{session}": {
            "get": {
                "tags": [
                    "Identity"
                ],
                "summary": "Get a Session",
                "operationId": "identity.api.sessions.show",
                "x-module": "identity",
                "x-required-permission": "identity.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/identity/sessions/{session}/revoke": {
            "post": {
                "tags": [
                    "Identity"
                ],
                "summary": "Revoke a Session",
                "operationId": "identity.api.sessions.revoke",
                "x-module": "identity",
                "x-required-permission": "identity.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inbox/messages": {
            "get": {
                "tags": [
                    "Inbox"
                ],
                "summary": "List Messages",
                "operationId": "inbox.api.messages.index",
                "x-module": "inbox",
                "x-required-permission": "inbox.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inbox/messages/read-all": {
            "post": {
                "tags": [
                    "Inbox"
                ],
                "summary": "Read All a Message",
                "operationId": "inbox.api.messages.read-all",
                "x-module": "inbox",
                "x-required-permission": "inbox.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inbox/messages/{id}": {
            "get": {
                "tags": [
                    "Inbox"
                ],
                "summary": "Get a Message",
                "operationId": "inbox.api.messages.show",
                "x-module": "inbox",
                "x-required-permission": "inbox.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inbox/messages/{id}/read": {
            "post": {
                "tags": [
                    "Inbox"
                ],
                "summary": "Read a Message",
                "operationId": "inbox.api.messages.read",
                "x-module": "inbox",
                "x-required-permission": "inbox.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get Intranet",
                "operationId": "intranet.api.home",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Announcements",
                "operationId": "intranet.api.announcements.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Announcement",
                "operationId": "intranet.api.announcements.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/unread": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Unread a Announcement",
                "operationId": "intranet.api.announcements.unread",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/{announcement}": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get a Announcement",
                "operationId": "intranet.api.announcements.show",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Announcement",
                "operationId": "intranet.api.announcements.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/{announcement}/acknowledge": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Acknowledge a Announcement",
                "operationId": "intranet.api.announcements.acknowledge",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/{announcement}/archive": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Archive a Announcement",
                "operationId": "intranet.api.announcements.archive",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/{announcement}/publish": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Publish a Announcement",
                "operationId": "intranet.api.announcements.publish",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/announcements/{announcement}/read": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Read a Announcement",
                "operationId": "intranet.api.announcements.read",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "announcement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/boards": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Boards",
                "operationId": "intranet.api.boards.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Board",
                "operationId": "intranet.api.boards.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/boards/{board}": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get a Board",
                "operationId": "intranet.api.boards.show",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Board",
                "operationId": "intranet.api.boards.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/boards/{board}/posts": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Boards",
                "operationId": "intranet.api.boards.posts.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Board",
                "operationId": "intranet.api.boards.posts.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/boards/{board}/posts/{post}": {
            "delete": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Delete a Board",
                "operationId": "intranet.api.boards.posts.destroy",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "board",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/directory": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get Directory",
                "operationId": "intranet.api.directory",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/events": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Events",
                "operationId": "intranet.api.events.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Event",
                "operationId": "intranet.api.events.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/events/{event}": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get a Event",
                "operationId": "intranet.api.events.show",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Event",
                "operationId": "intranet.api.events.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/events/{event}/cancel": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Cancel a Event",
                "operationId": "intranet.api.events.cancel",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/events/{event}/rsvp": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Rsvp a Event",
                "operationId": "intranet.api.events.rsvp",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Groups",
                "operationId": "intranet.api.groups.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Group",
                "operationId": "intranet.api.groups.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get a Group",
                "operationId": "intranet.api.groups.show",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Group",
                "operationId": "intranet.api.groups.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}/join": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Join a Group",
                "operationId": "intranet.api.groups.join",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}/leave": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Leave a Group",
                "operationId": "intranet.api.groups.leave",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}/members": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Add a Group",
                "operationId": "intranet.api.groups.members.add",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}/members/{user}": {
            "delete": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Remove a Group",
                "operationId": "intranet.api.groups.members.remove",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/groups/{group}/members/{user}/promote": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Promote a Group",
                "operationId": "intranet.api.groups.members.promote",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "group",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/kudos": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Kudos",
                "operationId": "intranet.api.kudos.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Kudo",
                "operationId": "intranet.api.kudos.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/links": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Links",
                "operationId": "intranet.api.links.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Link",
                "operationId": "intranet.api.links.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/links/reorder": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Reorder a Link",
                "operationId": "intranet.api.links.reorder",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/links/{link}": {
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Link",
                "operationId": "intranet.api.links.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "link",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Delete a Link",
                "operationId": "intranet.api.links.destroy",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "link",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/polls": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "List Polls",
                "operationId": "intranet.api.polls.index",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Create a Poll",
                "operationId": "intranet.api.polls.store",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/polls/{poll}": {
            "get": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Get a Poll",
                "operationId": "intranet.api.polls.show",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "poll",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Update a Poll",
                "operationId": "intranet.api.polls.update",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "poll",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/polls/{poll}/close": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Close a Poll",
                "operationId": "intranet.api.polls.close",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "poll",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/polls/{poll}/open": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Open a Poll",
                "operationId": "intranet.api.polls.open",
                "x-module": "intranet",
                "x-required-permission": "intranet.manage",
                "parameters": [
                    {
                        "name": "poll",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/intranet/polls/{poll}/vote": {
            "post": {
                "tags": [
                    "Intranet"
                ],
                "summary": "Vote a Poll",
                "operationId": "intranet.api.polls.vote",
                "x-module": "intranet",
                "x-required-permission": "intranet.view",
                "parameters": [
                    {
                        "name": "poll",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/adjustments": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Adjustments",
                "operationId": "inventory.api.adjustments.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Adjustment",
                "operationId": "inventory.api.adjustments.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/adjustments/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Adjustment",
                "operationId": "inventory.api.adjustments.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Adjustment",
                "operationId": "inventory.api.adjustments.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Adjustment",
                "operationId": "inventory.api.adjustments.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/adjustments/{id}/confirm": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Confirm a Adjustment",
                "operationId": "inventory.api.adjustments.confirm",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/locations": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Locations",
                "operationId": "inventory.api.locations.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Location",
                "operationId": "inventory.api.locations.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/locations/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Location",
                "operationId": "inventory.api.locations.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Location",
                "operationId": "inventory.api.locations.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Location",
                "operationId": "inventory.api.locations.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/lots": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Lots",
                "operationId": "inventory.api.lots.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Lot",
                "operationId": "inventory.api.lots.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/lots/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Lot",
                "operationId": "inventory.api.lots.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Lot",
                "operationId": "inventory.api.lots.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Lot",
                "operationId": "inventory.api.lots.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/products": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Products",
                "operationId": "inventory.api.products.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/products/{product_id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Product",
                "operationId": "inventory.api.products.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/quants": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Quants",
                "operationId": "inventory.api.quants.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/quants/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Quant",
                "operationId": "inventory.api.quants.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/reorder-rules": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Reorder Rules",
                "operationId": "inventory.api.reorder-rules.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Reorder Rule",
                "operationId": "inventory.api.reorder-rules.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/reorder-rules/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Reorder Rule",
                "operationId": "inventory.api.reorder-rules.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Reorder Rule",
                "operationId": "inventory.api.reorder-rules.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Reorder Rule",
                "operationId": "inventory.api.reorder-rules.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/reservations": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Reservations",
                "operationId": "inventory.api.reservations.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Reservation",
                "operationId": "inventory.api.reservations.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/reservations/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Reservation",
                "operationId": "inventory.api.reservations.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/reservations/{id}/release": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Release a Reservation",
                "operationId": "inventory.api.reservations.release",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Stock Moves",
                "operationId": "inventory.api.stock-moves.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves/issue": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Issue a Stock Move",
                "operationId": "inventory.api.stock-moves.issue",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves/receive": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Receive a Stock Move",
                "operationId": "inventory.api.stock-moves.receive",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves/scrap": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Scrap a Stock Move",
                "operationId": "inventory.api.stock-moves.scrap",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves/transfer": {
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Transfer a Stock Move",
                "operationId": "inventory.api.stock-moves.transfer",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/stock-moves/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Stock Move",
                "operationId": "inventory.api.stock-moves.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/uom-categories": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Uom Categories",
                "operationId": "inventory.api.uom-categories.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/uoms": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Uoms",
                "operationId": "inventory.api.uoms.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Uom",
                "operationId": "inventory.api.uoms.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/uoms/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Uom",
                "operationId": "inventory.api.uoms.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Uom",
                "operationId": "inventory.api.uoms.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Uom",
                "operationId": "inventory.api.uoms.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/warehouses": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "List Warehouses",
                "operationId": "inventory.api.warehouses.index",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Create a Warehouse",
                "operationId": "inventory.api.warehouses.store",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/inventory/warehouses/{id}": {
            "get": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Get a Warehouse",
                "operationId": "inventory.api.warehouses.show",
                "x-module": "inventory",
                "x-required-permission": "inventory.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Update a Warehouse",
                "operationId": "inventory.api.warehouses.update",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Inventory"
                ],
                "summary": "Delete a Warehouse",
                "operationId": "inventory.api.warehouses.destroy",
                "x-module": "inventory",
                "x-required-permission": "inventory.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invitations/{token}": {
            "get": {
                "tags": [
                    "Invitations"
                ],
                "summary": "Get {Token}",
                "operationId": "api.v1.invitations.show",
                "x-module": "invitations",
                "security": [],
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/invitations/{token}/accept": {
            "post": {
                "tags": [
                    "Invitations"
                ],
                "summary": "Create Accept",
                "operationId": "api.v1.invitations.accept",
                "x-module": "invitations",
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/alert-rules": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "List Alert Rules",
                "operationId": "iot.api.alert-rules.index",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Iot"
                ],
                "summary": "Create a Alert Rule",
                "operationId": "iot.api.alert-rules.store",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/alert-rules/{rule}": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "Get a Alert Rule",
                "operationId": "iot.api.alert-rules.show",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Iot"
                ],
                "summary": "Update a Alert Rule",
                "operationId": "iot.api.alert-rules.update",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Iot"
                ],
                "summary": "Delete a Alert Rule",
                "operationId": "iot.api.alert-rules.destroy",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "rule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/alerts": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "List Alerts",
                "operationId": "iot.api.alerts.index",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/alerts/{alert}": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "Get a Alert",
                "operationId": "iot.api.alerts.show",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "alert",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Iot"
                ],
                "summary": "Delete a Alert",
                "operationId": "iot.api.alerts.destroy",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "alert",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/alerts/{alert}/acknowledge": {
            "post": {
                "tags": [
                    "Iot"
                ],
                "summary": "Acknowledge a Alert",
                "operationId": "iot.api.alerts.acknowledge",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "alert",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/devices": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "List Devices",
                "operationId": "iot.api.devices.index",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Iot"
                ],
                "summary": "Create a Device",
                "operationId": "iot.api.devices.store",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/devices/{device}": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "Get a Device",
                "operationId": "iot.api.devices.show",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "device",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Iot"
                ],
                "summary": "Update a Device",
                "operationId": "iot.api.devices.update",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "device",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Iot"
                ],
                "summary": "Delete a Device",
                "operationId": "iot.api.devices.destroy",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "device",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/readings": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "List Readings",
                "operationId": "iot.api.readings.index",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Iot"
                ],
                "summary": "Create a Reading",
                "operationId": "iot.api.readings.store",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/readings/{reading}": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "Get a Reading",
                "operationId": "iot.api.readings.show",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "reading",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/sensors": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "List Sensors",
                "operationId": "iot.api.sensors.index",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Iot"
                ],
                "summary": "Create a Sensor",
                "operationId": "iot.api.sensors.store",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/iot/sensors/{sensor}": {
            "get": {
                "tags": [
                    "Iot"
                ],
                "summary": "Get a Sensor",
                "operationId": "iot.api.sensors.show",
                "x-module": "iot",
                "x-required-permission": "iot.view",
                "parameters": [
                    {
                        "name": "sensor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Iot"
                ],
                "summary": "Update a Sensor",
                "operationId": "iot.api.sensors.update",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "sensor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Iot"
                ],
                "summary": "Delete a Sensor",
                "operationId": "iot.api.sensors.destroy",
                "x-module": "iot",
                "x-required-permission": "iot.manage",
                "parameters": [
                    {
                        "name": "sensor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/assets": {
            "get": {
                "tags": [
                    "Itam"
                ],
                "summary": "List Assets",
                "operationId": "itam.api.assets.index",
                "x-module": "itam",
                "x-required-permission": "itam.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Itam"
                ],
                "summary": "Create a Asset",
                "operationId": "itam.api.assets.store",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/assets/{asset}": {
            "get": {
                "tags": [
                    "Itam"
                ],
                "summary": "Get a Asset",
                "operationId": "itam.api.assets.show",
                "x-module": "itam",
                "x-required-permission": "itam.view",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Itam"
                ],
                "summary": "Update a Asset",
                "operationId": "itam.api.assets.update",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Itam"
                ],
                "summary": "Delete a Asset",
                "operationId": "itam.api.assets.destroy",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/assets/{asset}/assign": {
            "post": {
                "tags": [
                    "Itam"
                ],
                "summary": "Assign a Asset",
                "operationId": "itam.api.assets.assign",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/assets/{asset}/maintenance": {
            "get": {
                "tags": [
                    "Itam"
                ],
                "summary": "List Assets",
                "operationId": "itam.api.assets.maintenance.index",
                "x-module": "itam",
                "x-required-permission": "itam.view",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Itam"
                ],
                "summary": "Create a Asset",
                "operationId": "itam.api.assets.maintenance.store",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/assets/{asset}/return": {
            "post": {
                "tags": [
                    "Itam"
                ],
                "summary": "Return a Asset",
                "operationId": "itam.api.assets.return",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/maintenance/{maintenance}": {
            "delete": {
                "tags": [
                    "Itam"
                ],
                "summary": "Delete a Maintenance",
                "operationId": "itam.api.maintenance.destroy",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "maintenance",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/itam/maintenance/{maintenance}/complete": {
            "post": {
                "tags": [
                    "Itam"
                ],
                "summary": "Complete a Maintenance",
                "operationId": "itam.api.maintenance.complete",
                "x-module": "itam",
                "x-required-permission": "itam.manage",
                "parameters": [
                    {
                        "name": "maintenance",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles": {
            "get": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "List Articles",
                "operationId": "knowledge.api.articles.index",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Create a Article",
                "operationId": "knowledge.api.articles.store",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles/{article}": {
            "get": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Get a Article",
                "operationId": "knowledge.api.articles.show",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Update a Article",
                "operationId": "knowledge.api.articles.update",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.edit",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Delete a Article",
                "operationId": "knowledge.api.articles.destroy",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.edit",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles/{article}/favorite": {
            "post": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Favorite a Article",
                "operationId": "knowledge.api.articles.favorite",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles/{article}/restore": {
            "post": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Restore a Article",
                "operationId": "knowledge.api.articles.restore",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.edit",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles/{article}/revisions": {
            "get": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Revisions a Article",
                "operationId": "knowledge.api.articles.revisions",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/articles/{article}/share": {
            "post": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Share a Article",
                "operationId": "knowledge.api.articles.share",
                "x-module": "knowledge",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/favorites": {
            "get": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "List Favorites",
                "operationId": "knowledge.api.favorites.index",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/knowledge/favorites/{id}": {
            "get": {
                "tags": [
                    "Knowledge"
                ],
                "summary": "Get a Favorite",
                "operationId": "knowledge.api.favorites.show",
                "x-module": "knowledge",
                "x-required-permission": "knowledge.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/downtimes/{downtime}/end": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "End a Downtime",
                "operationId": "maintenance.api.downtimes.end",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "downtime",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/equipment": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "List Equipment",
                "operationId": "maintenance.api.equipment.index",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Equipment",
                "operationId": "maintenance.api.equipment.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/equipment/{equipment}": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get a Equipment",
                "operationId": "maintenance.api.equipment.show",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "equipment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Update a Equipment",
                "operationId": "maintenance.api.equipment.update",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "equipment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/equipment/{equipment}/downtime/start": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Start a Equipment",
                "operationId": "maintenance.api.equipment.downtime.start",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "equipment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/equipment/{equipment}/meter": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Meter a Equipment",
                "operationId": "maintenance.api.equipment.meter",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "equipment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "List Orders",
                "operationId": "maintenance.api.orders.index",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Order",
                "operationId": "maintenance.api.orders.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get a Order",
                "operationId": "maintenance.api.orders.show",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Update a Order",
                "operationId": "maintenance.api.orders.update",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/cancel": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Cancel a Order",
                "operationId": "maintenance.api.orders.cancel",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/complete": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Complete a Order",
                "operationId": "maintenance.api.orders.complete",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/downtime/start": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Start a Order",
                "operationId": "maintenance.api.orders.downtime.start",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/parts": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Order",
                "operationId": "maintenance.api.orders.parts.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/parts/{part}": {
            "delete": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Delete a Order",
                "operationId": "maintenance.api.orders.parts.destroy",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "part",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/schedule": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Schedule a Order",
                "operationId": "maintenance.api.orders.schedule",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/start": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Start a Order",
                "operationId": "maintenance.api.orders.start",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/times": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Order",
                "operationId": "maintenance.api.orders.times.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/orders/{order}/times/{time}": {
            "delete": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Delete a Order",
                "operationId": "maintenance.api.orders.times.destroy",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "time",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/plans": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "List Plans",
                "operationId": "maintenance.api.plans.index",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Plan",
                "operationId": "maintenance.api.plans.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/plans/generate": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Generate a Plan",
                "operationId": "maintenance.api.plans.generate",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/plans/{plan}": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get a Plan",
                "operationId": "maintenance.api.plans.show",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Update a Plan",
                "operationId": "maintenance.api.plans.update",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/requests": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "List Requests",
                "operationId": "maintenance.api.requests.index",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Create a Request",
                "operationId": "maintenance.api.requests.store",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/requests/{request}": {
            "get": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Get a Request",
                "operationId": "maintenance.api.requests.show",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.view",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Update a Request",
                "operationId": "maintenance.api.requests.update",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/maintenance/requests/{request}/transition": {
            "post": {
                "tags": [
                    "Maintenance"
                ],
                "summary": "Transition a Request",
                "operationId": "maintenance.api.requests.transition",
                "x-module": "maintenance",
                "x-required-permission": "maintenance.manage",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/boms": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "List Boms",
                "operationId": "manufacturing.api.boms.index",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Create a Bom",
                "operationId": "manufacturing.api.boms.store",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/boms/{id}": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Get a Bom",
                "operationId": "manufacturing.api.boms.show",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Update a Bom",
                "operationId": "manufacturing.api.boms.update",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/boms/{id}/archive": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Archive a Bom",
                "operationId": "manufacturing.api.boms.archive",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/boms/{id}/confirm": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Confirm a Bom",
                "operationId": "manufacturing.api.boms.confirm",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "List Orders",
                "operationId": "manufacturing.api.orders.index",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Create a Order",
                "operationId": "manufacturing.api.orders.store",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Get a Order",
                "operationId": "manufacturing.api.orders.show",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Update a Order",
                "operationId": "manufacturing.api.orders.update",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/cancel": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Cancel a Order",
                "operationId": "manufacturing.api.orders.cancel",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/complete": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Complete a Order",
                "operationId": "manufacturing.api.orders.complete",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/confirm": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Confirm a Order",
                "operationId": "manufacturing.api.orders.confirm",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/consume": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Consume a Order",
                "operationId": "manufacturing.api.orders.consume",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/recalculate-cost": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Recalculate Cost a Order",
                "operationId": "manufacturing.api.orders.recalculate-cost",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/receive": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Receive a Order",
                "operationId": "manufacturing.api.orders.receive",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/scrap": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Scrap a Order",
                "operationId": "manufacturing.api.orders.scrap",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/orders/{id}/start": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Start a Order",
                "operationId": "manufacturing.api.orders.start",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/routings": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "List Routings",
                "operationId": "manufacturing.api.routings.index",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Create a Routing",
                "operationId": "manufacturing.api.routings.store",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/routings/{id}": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Get a Routing",
                "operationId": "manufacturing.api.routings.show",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Update a Routing",
                "operationId": "manufacturing.api.routings.update",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/routings/{id}/archive": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Archive a Routing",
                "operationId": "manufacturing.api.routings.archive",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/routings/{id}/confirm": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Confirm a Routing",
                "operationId": "manufacturing.api.routings.confirm",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-centers": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "List Work Centers",
                "operationId": "manufacturing.api.work-centers.index",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Create a Work Center",
                "operationId": "manufacturing.api.work-centers.store",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-centers/{id}": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Get a Work Center",
                "operationId": "manufacturing.api.work-centers.show",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Update a Work Center",
                "operationId": "manufacturing.api.work-centers.update",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Delete a Work Center",
                "operationId": "manufacturing.api.work-centers.destroy",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "List Work Orders",
                "operationId": "manufacturing.api.work-orders.index",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}": {
            "get": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Get a Work Order",
                "operationId": "manufacturing.api.work-orders.show",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}/finish": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Finish a Work Order",
                "operationId": "manufacturing.api.work-orders.finish",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}/log-time": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Log Time a Work Order",
                "operationId": "manufacturing.api.work-orders.log-time",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}/pause": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Pause a Work Order",
                "operationId": "manufacturing.api.work-orders.pause",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}/resume": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Resume a Work Order",
                "operationId": "manufacturing.api.work-orders.resume",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/manufacturing/work-orders/{id}/start": {
            "post": {
                "tags": [
                    "Manufacturing"
                ],
                "summary": "Start a Work Order",
                "operationId": "manufacturing.api.work-orders.start",
                "x-module": "manufacturing",
                "x-required-permission": "manufacturing.operate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/enrollments": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "List Enrollments",
                "operationId": "marketing_automation.api.enrollments.index",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/enrollments/{enrollment}": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Get a Enrollment",
                "operationId": "marketing_automation.api.enrollments.show",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "enrollment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/enrollments/{enrollment}/exit": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Exit a Enrollment",
                "operationId": "marketing_automation.api.enrollments.exit",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "enrollment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "List Journeys",
                "operationId": "marketing_automation.api.journeys.index",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Create a Journey",
                "operationId": "marketing_automation.api.journeys.store",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Get a Journey",
                "operationId": "marketing_automation.api.journeys.show",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Update a Journey",
                "operationId": "marketing_automation.api.journeys.update",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/duplicate": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Duplicate a Journey",
                "operationId": "marketing_automation.api.journeys.duplicate",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/enroll": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Enroll a Journey",
                "operationId": "marketing_automation.api.journeys.enroll",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/enrollments": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Enrollments a Journey",
                "operationId": "marketing_automation.api.journeys.enrollments",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/enrollments/{enrollment}/exit": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Exit a Journey",
                "operationId": "marketing_automation.api.journeys.enrollments.exit",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enrollment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/enrollments/{enrollment}/run-log": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Run Log a Journey",
                "operationId": "marketing_automation.api.journeys.run-log",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enrollment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/status": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Status a Journey",
                "operationId": "marketing_automation.api.journeys.status",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/steps": {
            "get": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Steps a Journey",
                "operationId": "marketing_automation.api.journeys.steps",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.view",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Create a Journey",
                "operationId": "marketing_automation.api.journeys.steps.store",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/steps/{step}": {
            "put": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Update a Journey",
                "operationId": "marketing_automation.api.journeys.steps.update",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "step",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Delete a Journey",
                "operationId": "marketing_automation.api.journeys.steps.destroy",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "step",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/steps/{step}/reorder": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Reorder a Journey",
                "operationId": "marketing_automation.api.journeys.steps.reorder",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "step",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/marketing-automation/journeys/{journey}/test-run": {
            "post": {
                "tags": [
                    "Marketing Automation"
                ],
                "summary": "Test Run a Journey",
                "operationId": "marketing_automation.api.journeys.test-run",
                "x-module": "marketing_automation",
                "x-required-permission": "marketing_automation.manage",
                "parameters": [
                    {
                        "name": "journey",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/me": {
            "get": {
                "tags": [
                    "Me"
                ],
                "summary": "Get Me",
                "operationId": "api.v1.me",
                "x-module": "me",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": false,
                        "description": "UUID of the company to operate on. Optional on this endpoint.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/me/apps": {
            "get": {
                "tags": [
                    "Me"
                ],
                "summary": "Get Apps",
                "operationId": "api.v1.apps.index",
                "x-module": "me",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/me/apps/{module}": {
            "put": {
                "tags": [
                    "Me"
                ],
                "summary": "{Module}",
                "operationId": "api.v1.apps.update",
                "x-module": "me",
                "parameters": [
                    {
                        "name": "module",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/meetings/meetings": {
            "get": {
                "tags": [
                    "Meetings"
                ],
                "summary": "List Meetings",
                "operationId": "meetings.api.meetings.index",
                "x-module": "meetings",
                "x-required-permission": "meetings.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Create a Meeting",
                "operationId": "meetings.api.meetings.store",
                "x-module": "meetings",
                "x-required-permission": "meetings.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/meetings/meetings/{id}": {
            "get": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Get a Meeting",
                "operationId": "meetings.api.meetings.show",
                "x-module": "meetings",
                "x-required-permission": "meetings.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Update a Meeting",
                "operationId": "meetings.api.meetings.update",
                "x-module": "meetings",
                "x-required-permission": "meetings.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Delete a Meeting",
                "operationId": "meetings.api.meetings.destroy",
                "x-module": "meetings",
                "x-required-permission": "meetings.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/meetings/meetings/{id}/notes": {
            "post": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Create a Meeting",
                "operationId": "meetings.api.meetings.notes.store",
                "x-module": "meetings",
                "x-required-permission": "meetings.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/meetings/meetings/{id}/rsvp": {
            "post": {
                "tags": [
                    "Meetings"
                ],
                "summary": "Rsvp a Meeting",
                "operationId": "meetings.api.meetings.rsvp",
                "x-module": "meetings",
                "x-required-permission": "meetings.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/notifications": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Notifications",
                "operationId": "api.v1.notifications.index",
                "x-module": "notifications",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": false,
                        "description": "UUID of the company to operate on. Optional on this endpoint.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/notifications/read-all": {
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Create Read All",
                "operationId": "api.v1.notifications.read-all",
                "x-module": "notifications",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": false,
                        "description": "UUID of the company to operate on. Optional on this endpoint.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/notifications/{notification}/read": {
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Create Read",
                "operationId": "api.v1.notifications.read",
                "x-module": "notifications",
                "parameters": [
                    {
                        "name": "notification",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": false,
                        "description": "UUID of the company to operate on. Optional on this endpoint.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/office/bookings": {
            "get": {
                "tags": [
                    "Office"
                ],
                "summary": "List Bookings",
                "operationId": "office.api.bookings.index",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Office"
                ],
                "summary": "Create a Booking",
                "operationId": "office.api.bookings.store",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/office/bookings/{booking}": {
            "get": {
                "tags": [
                    "Office"
                ],
                "summary": "Get a Booking",
                "operationId": "office.api.bookings.show",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "booking",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/office/bookings/{booking}/cancel": {
            "post": {
                "tags": [
                    "Office"
                ],
                "summary": "Cancel a Booking",
                "operationId": "office.api.bookings.cancel",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "booking",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/office/offices": {
            "get": {
                "tags": [
                    "Office"
                ],
                "summary": "List Offices",
                "operationId": "office.api.offices.index",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Office"
                ],
                "summary": "Create a Office",
                "operationId": "office.api.offices.store",
                "x-module": "office",
                "x-required-permission": "office.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/office/offices/{office}": {
            "get": {
                "tags": [
                    "Office"
                ],
                "summary": "Get a Office",
                "operationId": "office.api.offices.show",
                "x-module": "office",
                "x-required-permission": "office.view",
                "parameters": [
                    {
                        "name": "office",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Office"
                ],
                "summary": "Update a Office",
                "operationId": "office.api.offices.update",
                "x-module": "office",
                "x-required-permission": "office.manage",
                "parameters": [
                    {
                        "name": "office",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Office"
                ],
                "summary": "Delete a Office",
                "operationId": "office.api.offices.destroy",
                "x-module": "office",
                "x-required-permission": "office.manage",
                "parameters": [
                    {
                        "name": "office",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons": {
            "get": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "List Seasons",
                "operationId": "pack_agriculture.api.seasons.index",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Create a Season",
                "operationId": "pack_agriculture.api.seasons.store",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons/{season}": {
            "get": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Get a Season",
                "operationId": "pack_agriculture.api.seasons.show",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.view",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Update a Season",
                "operationId": "pack_agriculture.api.seasons.update",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons/{season}/cancel": {
            "post": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Cancel a Season",
                "operationId": "pack_agriculture.api.seasons.cancel",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons/{season}/close": {
            "post": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Close a Season",
                "operationId": "pack_agriculture.api.seasons.close",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons/{season}/mark-harvested": {
            "post": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Mark Harvested a Season",
                "operationId": "pack_agriculture.api.seasons.mark-harvested",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-agriculture/seasons/{season}/start-growing": {
            "post": {
                "tags": [
                    "Pack Agriculture"
                ],
                "summary": "Start Growing a Season",
                "operationId": "pack_agriculture.api.seasons.start-growing",
                "x-module": "pack_agriculture",
                "x-required-permission": "pack_agriculture.manage",
                "parameters": [
                    {
                        "name": "season",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-contracting/contracts": {
            "get": {
                "tags": [
                    "Pack Contracting"
                ],
                "summary": "List Contracts",
                "operationId": "pack_contracting.api.contracts.index",
                "x-module": "pack_contracting",
                "x-required-permission": "pack_contracting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Contracting"
                ],
                "summary": "Create a Contract",
                "operationId": "pack_contracting.api.contracts.store",
                "x-module": "pack_contracting",
                "x-required-permission": "pack_contracting.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-contracting/contracts/{contract}": {
            "get": {
                "tags": [
                    "Pack Contracting"
                ],
                "summary": "Get a Contract",
                "operationId": "pack_contracting.api.contracts.show",
                "x-module": "pack_contracting",
                "x-required-permission": "pack_contracting.view",
                "parameters": [
                    {
                        "name": "contract",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Pack Contracting"
                ],
                "summary": "Update a Contract",
                "operationId": "pack_contracting.api.contracts.update",
                "x-module": "pack_contracting",
                "x-required-permission": "pack_contracting.manage",
                "parameters": [
                    {
                        "name": "contract",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-distribution/routes": {
            "get": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "List Routes",
                "operationId": "pack_distribution.api.routes.index",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Create a Route",
                "operationId": "pack_distribution.api.routes.store",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-distribution/routes/{id}": {
            "get": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Get a Route",
                "operationId": "pack_distribution.api.routes.show",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Update a Route",
                "operationId": "pack_distribution.api.routes.update",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Delete a Route",
                "operationId": "pack_distribution.api.routes.destroy",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-distribution/routes/{id}/complete": {
            "post": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Complete a Route",
                "operationId": "pack_distribution.api.routes.complete",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-distribution/routes/{id}/start": {
            "post": {
                "tags": [
                    "Pack Distribution"
                ],
                "summary": "Start a Route",
                "operationId": "pack_distribution.api.routes.start",
                "x-module": "pack_distribution",
                "x-required-permission": "pack_distribution.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-education/terms": {
            "get": {
                "tags": [
                    "Pack Education"
                ],
                "summary": "List Terms",
                "operationId": "pack_education.api.terms.index",
                "x-module": "pack_education",
                "x-required-permission": "pack_education.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-education/terms/{term}": {
            "get": {
                "tags": [
                    "Pack Education"
                ],
                "summary": "Get a Term",
                "operationId": "pack_education.api.terms.show",
                "x-module": "pack_education",
                "x-required-permission": "pack_education.view",
                "parameters": [
                    {
                        "name": "term",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-healthcare/visits": {
            "get": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "List Visits",
                "operationId": "pack_healthcare.api.visits.index",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Create a Visit",
                "operationId": "pack_healthcare.api.visits.store",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-healthcare/visits/{visit}": {
            "get": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Get a Visit",
                "operationId": "pack_healthcare.api.visits.show",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.view",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Update a Visit",
                "operationId": "pack_healthcare.api.visits.update",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-healthcare/visits/{visit}/cancel": {
            "post": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Cancel a Visit",
                "operationId": "pack_healthcare.api.visits.cancel",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-healthcare/visits/{visit}/mark-billed": {
            "post": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Mark Billed a Visit",
                "operationId": "pack_healthcare.api.visits.mark-billed",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-healthcare/visits/{visit}/mark-paid": {
            "post": {
                "tags": [
                    "Pack Healthcare"
                ],
                "summary": "Mark Paid a Visit",
                "operationId": "pack_healthcare.api.visits.mark-paid",
                "x-module": "pack_healthcare",
                "x-required-permission": "pack_healthcare.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-hospitality/kpis": {
            "get": {
                "tags": [
                    "Pack Hospitality"
                ],
                "summary": "Get Kpis",
                "operationId": "pack_hospitality.api.kpis",
                "x-module": "pack_hospitality",
                "x-required-permission": "pack_hospitality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-hospitality/settings": {
            "get": {
                "tags": [
                    "Pack Hospitality"
                ],
                "summary": "Get a Setting",
                "operationId": "pack_hospitality.api.settings.show",
                "x-module": "pack_hospitality",
                "x-required-permission": "pack_hospitality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Hospitality"
                ],
                "summary": "Update a Setting",
                "operationId": "pack_hospitality.api.settings.update",
                "x-module": "pack_hospitality",
                "x-required-permission": "pack_hospitality.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-nonprofit/campaigns": {
            "get": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "List Campaigns",
                "operationId": "pack_nonprofit.api.campaigns.index",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Create a Campaign",
                "operationId": "pack_nonprofit.api.campaigns.store",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-nonprofit/campaigns/{campaign}": {
            "get": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Get a Campaign",
                "operationId": "pack_nonprofit.api.campaigns.show",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Update a Campaign",
                "operationId": "pack_nonprofit.api.campaigns.update",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-nonprofit/donations": {
            "get": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "List Donations",
                "operationId": "pack_nonprofit.api.donations.index",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Create a Donation",
                "operationId": "pack_nonprofit.api.donations.store",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-nonprofit/donations/{donation}": {
            "get": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Get a Donation",
                "operationId": "pack_nonprofit.api.donations.show",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.view",
                "parameters": [
                    {
                        "name": "donation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Pack Nonprofit"
                ],
                "summary": "Update a Donation",
                "operationId": "pack_nonprofit.api.donations.update",
                "x-module": "pack_nonprofit",
                "x-required-permission": "pack_nonprofit.manage",
                "parameters": [
                    {
                        "name": "donation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-restaurants/dashboard": {
            "get": {
                "tags": [
                    "Pack Restaurants"
                ],
                "summary": "Get Dashboard",
                "operationId": "pack_restaurants.api.dashboard",
                "x-module": "pack_restaurants",
                "x-required-permission": "pack_restaurants.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-restaurants/install": {
            "post": {
                "tags": [
                    "Pack Restaurants"
                ],
                "summary": "Create Install",
                "operationId": "pack_restaurants.api.install",
                "x-module": "pack_restaurants",
                "x-required-permission": "pack_restaurants.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-retail/dashboard": {
            "get": {
                "tags": [
                    "Pack Retail"
                ],
                "summary": "Get Dashboard",
                "operationId": "pack_retail.api.dashboard",
                "x-module": "pack_retail",
                "x-required-permission": "pack_retail.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-retail/install": {
            "post": {
                "tags": [
                    "Pack Retail"
                ],
                "summary": "Create Install",
                "operationId": "pack_retail.api.install",
                "x-module": "pack_retail",
                "x-required-permission": "pack_retail.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-retail/settings": {
            "get": {
                "tags": [
                    "Pack Retail"
                ],
                "summary": "Get a Setting",
                "operationId": "pack_retail.api.settings.show",
                "x-module": "pack_retail",
                "x-required-permission": "pack_retail.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Retail"
                ],
                "summary": "Update a Setting",
                "operationId": "pack_retail.api.settings.update",
                "x-module": "pack_retail",
                "x-required-permission": "pack_retail.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-services/dashboard": {
            "get": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Get Dashboard",
                "operationId": "pack_services.api.dashboard",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-services/install": {
            "post": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Create Install",
                "operationId": "pack_services.api.install",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-services/rates": {
            "get": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "List Rates",
                "operationId": "pack_services.api.rates.index",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Create a Rate",
                "operationId": "pack_services.api.rates.store",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-services/rates/bulk": {
            "put": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Bulk a Rate",
                "operationId": "pack_services.api.rates.bulk",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pack-services/rates/{rate}": {
            "get": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Get a Rate",
                "operationId": "pack_services.api.rates.show",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.view",
                "parameters": [
                    {
                        "name": "rate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Update a Rate",
                "operationId": "pack_services.api.rates.update",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.manage",
                "parameters": [
                    {
                        "name": "rate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pack Services"
                ],
                "summary": "Delete a Rate",
                "operationId": "pack_services.api.rates.destroy",
                "x-module": "pack_services",
                "x-required-permission": "pack_services.manage",
                "parameters": [
                    {
                        "name": "rate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/gateways": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "List Gateways",
                "operationId": "payments.api.gateways.index",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Create a Gateway",
                "operationId": "payments.api.gateways.store",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/gateways/{id}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get a Gateway",
                "operationId": "payments.api.gateways.show",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Payments"
                ],
                "summary": "Update a Gateway",
                "operationId": "payments.api.gateways.update",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Payments"
                ],
                "summary": "Delete a Gateway",
                "operationId": "payments.api.gateways.destroy",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/links": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "List Links",
                "operationId": "payments.api.links.index",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Create a Link",
                "operationId": "payments.api.links.store",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/links/{id}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get a Link",
                "operationId": "payments.api.links.show",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/methods": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "List Methods",
                "operationId": "payments.api.methods.index",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Create a Method",
                "operationId": "payments.api.methods.store",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/methods/{id}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get a Method",
                "operationId": "payments.api.methods.show",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Payments"
                ],
                "summary": "Update a Method",
                "operationId": "payments.api.methods.update",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Payments"
                ],
                "summary": "Delete a Method",
                "operationId": "payments.api.methods.destroy",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "List Transactions",
                "operationId": "payments.api.transactions.index",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Create a Transaction",
                "operationId": "payments.api.transactions.store",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions/{id}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get a Transaction",
                "operationId": "payments.api.transactions.show",
                "x-module": "payments",
                "x-required-permission": "payments.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions/{id}/cancel": {
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Cancel a Transaction",
                "operationId": "payments.api.transactions.cancel",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions/{id}/confirm": {
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Confirm a Transaction",
                "operationId": "payments.api.transactions.confirm",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions/{id}/fail": {
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Fail a Transaction",
                "operationId": "payments.api.transactions.fail",
                "x-module": "payments",
                "x-required-permission": "payments.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payments/transactions/{id}/refund": {
            "post": {
                "tags": [
                    "Payments"
                ],
                "summary": "Refund a Transaction",
                "operationId": "payments.api.transactions.refund",
                "x-module": "payments",
                "x-required-permission": "payments.refund",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/end-of-service/accrual": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Accrual a End Of Service",
                "operationId": "payroll.api.end-of-service.accrual",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/end-of-service/calculate": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Calculate a End Of Service",
                "operationId": "payroll.api.end-of-service.calculate",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/loans": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "List Loans",
                "operationId": "payroll.api.loans.index",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Create a Loan",
                "operationId": "payroll.api.loans.store",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/loans/{loan}": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Get a Loan",
                "operationId": "payroll.api.loans.show",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "loan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/loans/{loan}/cancel": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Cancel a Loan",
                "operationId": "payroll.api.loans.cancel",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "loan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/mine/payslips": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Payslips a Mine",
                "operationId": "payroll.api.mine.payslips",
                "x-module": "payroll",
                "x-required-permission": "payroll.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/payslips/{payslip}": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Get a Payslip",
                "operationId": "payroll.api.payslips.show",
                "x-module": "payroll",
                "x-required-permission": "payroll.self",
                "parameters": [
                    {
                        "name": "payslip",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/payslips/{payslip}/print": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Print a Payslip",
                "operationId": "payroll.api.payslips.print",
                "x-module": "payroll",
                "parameters": [
                    {
                        "name": "payslip",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "List Runs",
                "operationId": "payroll.api.runs.index",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Create a Run",
                "operationId": "payroll.api.runs.store",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Get a Run",
                "operationId": "payroll.api.runs.show",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/approve": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Approve a Run",
                "operationId": "payroll.api.runs.approve",
                "x-module": "payroll",
                "x-required-permission": "payroll.approve",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/cancel": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Cancel a Run",
                "operationId": "payroll.api.runs.cancel",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/compute": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Compute a Run",
                "operationId": "payroll.api.runs.compute",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/mark-paid": {
            "post": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Mark Paid a Run",
                "operationId": "payroll.api.runs.mark-paid",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/payslips": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Payslips a Run",
                "operationId": "payroll.api.runs.payslips",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/wage-file": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Wage File a Run",
                "operationId": "payroll.api.runs.wage-file",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/wps-file": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Wps File a Run",
                "operationId": "payroll.api.runs.wps-file",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/runs/{run}/wps-problems": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Wps Problems a Run",
                "operationId": "payroll.api.runs.wps-problems",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "run",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/payroll/settings": {
            "get": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Get Settings",
                "operationId": "payroll.api.settings",
                "x-module": "payroll",
                "x-required-permission": "payroll.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Payroll"
                ],
                "summary": "Update a Setting",
                "operationId": "payroll.api.settings.update",
                "x-module": "payroll",
                "x-required-permission": "payroll.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/schedule/publish": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Publish a Schedule",
                "operationId": "planning.api.schedule.publish",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shift-templates": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "List Templates",
                "operationId": "planning.api.templates.index",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Create a Template",
                "operationId": "planning.api.templates.store",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shift-templates/{template}": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "Get a Template",
                "operationId": "planning.api.templates.show",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Planning"
                ],
                "summary": "Update a Template",
                "operationId": "planning.api.templates.update",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Planning"
                ],
                "summary": "Delete a Template",
                "operationId": "planning.api.templates.destroy",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "List Shifts",
                "operationId": "planning.api.shifts.index",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Create a Shift",
                "operationId": "planning.api.shifts.store",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "Get a Shift",
                "operationId": "planning.api.shifts.show",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Planning"
                ],
                "summary": "Update a Shift",
                "operationId": "planning.api.shifts.update",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Planning"
                ],
                "summary": "Delete a Shift",
                "operationId": "planning.api.shifts.destroy",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}/actuals": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Actuals a Shift",
                "operationId": "planning.api.shifts.actuals",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}/cancel": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Cancel a Shift",
                "operationId": "planning.api.shifts.cancel",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}/claim": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Claim a Shift",
                "operationId": "planning.api.shifts.claim",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}/move": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Move a Shift",
                "operationId": "planning.api.shifts.move",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/shifts/{assignment}/swap-requests": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Create a Shift",
                "operationId": "planning.api.shifts.swaps.store",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/swap-requests": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "List Swaps",
                "operationId": "planning.api.swaps.index",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/swap-requests/{swap}": {
            "get": {
                "tags": [
                    "Planning"
                ],
                "summary": "Get a Swap",
                "operationId": "planning.api.swaps.show",
                "x-module": "planning",
                "x-required-permission": "planning.view",
                "parameters": [
                    {
                        "name": "swap",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/planning/swap-requests/{swap}/review": {
            "post": {
                "tags": [
                    "Planning"
                ],
                "summary": "Review a Swap",
                "operationId": "planning.api.swaps.review",
                "x-module": "planning",
                "x-required-permission": "planning.manage",
                "parameters": [
                    {
                        "name": "swap",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/admins": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Admins",
                "operationId": "api.v1.platform.admins.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Admins",
                "operationId": "api.v1.platform.admins.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/admins/{admin}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Admin}",
                "operationId": "api.v1.platform.admins.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "admin",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Admin}",
                "operationId": "api.v1.platform.admins.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "admin",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/audit-logs": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Audit Logs",
                "operationId": "api.v1.platform.audit-logs.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/audit-logs/{log}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Log}",
                "operationId": "api.v1.platform.audit-logs.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "log",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/auth/token": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Token",
                "operationId": "api.v1.platform.token.store",
                "x-module": "platform",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete Token",
                "operationId": "api.v1.platform.token.destroy",
                "x-module": "platform",
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/app-listings": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get App Listings",
                "operationId": "api.v1.platform.cms.app-listings.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create App Listings",
                "operationId": "api.v1.platform.cms.app-listings.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/app-listings/{listing}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Listing}",
                "operationId": "api.v1.platform.cms.app-listings.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "listing",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Listing}",
                "operationId": "api.v1.platform.cms.app-listings.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "listing",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Listing}",
                "operationId": "api.v1.platform.cms.app-listings.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "listing",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Listing}",
                "operationId": "api.v1.platform.cms.app-listings.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "listing",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/brand-assets": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Brand Assets",
                "operationId": "api.v1.platform.cms.brand-assets.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Brand Assets",
                "operationId": "api.v1.platform.cms.brand-assets.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/brand-assets/{asset}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Asset}",
                "operationId": "api.v1.platform.cms.brand-assets.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Asset}",
                "operationId": "api.v1.platform.cms.brand-assets.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Asset}",
                "operationId": "api.v1.platform.cms.brand-assets.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Asset}",
                "operationId": "api.v1.platform.cms.brand-assets.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "asset",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/changelog": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Changelog",
                "operationId": "api.v1.platform.cms.changelog.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Changelog",
                "operationId": "api.v1.platform.cms.changelog.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/changelog/{entry}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Entry}",
                "operationId": "api.v1.platform.cms.changelog.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "entry",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Entry}",
                "operationId": "api.v1.platform.cms.changelog.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "entry",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Entry}",
                "operationId": "api.v1.platform.cms.changelog.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "entry",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Entry}",
                "operationId": "api.v1.platform.cms.changelog.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "entry",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/contact-messages": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Contact Messages",
                "operationId": "api.v1.platform.cms.contact-messages.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/contact-messages/{message}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Message}",
                "operationId": "api.v1.platform.cms.contact-messages.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Message}",
                "operationId": "api.v1.platform.cms.contact-messages.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Message}",
                "operationId": "api.v1.platform.cms.contact-messages.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Message}",
                "operationId": "api.v1.platform.cms.contact-messages.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/faqs": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Faqs",
                "operationId": "api.v1.platform.cms.faqs.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Faqs",
                "operationId": "api.v1.platform.cms.faqs.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/faqs/{faq}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Faq}",
                "operationId": "api.v1.platform.cms.faqs.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "faq",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Faq}",
                "operationId": "api.v1.platform.cms.faqs.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "faq",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Faq}",
                "operationId": "api.v1.platform.cms.faqs.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "faq",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Faq}",
                "operationId": "api.v1.platform.cms.faqs.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "faq",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/kb-articles": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Kb Articles",
                "operationId": "api.v1.platform.cms.kb-articles.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Kb Articles",
                "operationId": "api.v1.platform.cms.kb-articles.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/kb-articles/{article}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Article}",
                "operationId": "api.v1.platform.cms.kb-articles.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Article}",
                "operationId": "api.v1.platform.cms.kb-articles.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Article}",
                "operationId": "api.v1.platform.cms.kb-articles.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Article}",
                "operationId": "api.v1.platform.cms.kb-articles.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/kb-categories": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Kb Categories",
                "operationId": "api.v1.platform.cms.kb-categories.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Kb Categories",
                "operationId": "api.v1.platform.cms.kb-categories.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/kb-categories/{category}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Category}",
                "operationId": "api.v1.platform.cms.kb-categories.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Category}",
                "operationId": "api.v1.platform.cms.kb-categories.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Category}",
                "operationId": "api.v1.platform.cms.kb-categories.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Category}",
                "operationId": "api.v1.platform.cms.kb-categories.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/newsletter-subscribers": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Newsletter Subscribers",
                "operationId": "api.v1.platform.cms.newsletter-subscribers.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/newsletter-subscribers/{subscriber}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Subscriber}",
                "operationId": "api.v1.platform.cms.newsletter-subscribers.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "subscriber",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Subscriber}",
                "operationId": "api.v1.platform.cms.newsletter-subscribers.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "subscriber",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/pages": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Pages",
                "operationId": "api.v1.platform.cms.pages.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Pages",
                "operationId": "api.v1.platform.cms.pages.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/pages/{page}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Page}",
                "operationId": "api.v1.platform.cms.pages.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "page",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Page}",
                "operationId": "api.v1.platform.cms.pages.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "page",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Page}",
                "operationId": "api.v1.platform.cms.pages.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "page",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Page}",
                "operationId": "api.v1.platform.cms.pages.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "page",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/post-categories": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Post Categories",
                "operationId": "api.v1.platform.cms.post-categories.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Post Categories",
                "operationId": "api.v1.platform.cms.post-categories.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/post-categories/{category}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Category}",
                "operationId": "api.v1.platform.cms.post-categories.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Category}",
                "operationId": "api.v1.platform.cms.post-categories.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Category}",
                "operationId": "api.v1.platform.cms.post-categories.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Category}",
                "operationId": "api.v1.platform.cms.post-categories.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/posts": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Posts",
                "operationId": "api.v1.platform.cms.posts.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Posts",
                "operationId": "api.v1.platform.cms.posts.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/posts/{post}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Post}",
                "operationId": "api.v1.platform.cms.posts.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Post}",
                "operationId": "api.v1.platform.cms.posts.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Post}",
                "operationId": "api.v1.platform.cms.posts.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Post}",
                "operationId": "api.v1.platform.cms.posts.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/testimonials": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Testimonials",
                "operationId": "api.v1.platform.cms.testimonials.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Testimonials",
                "operationId": "api.v1.platform.cms.testimonials.store",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/cms/testimonials/{testimonial}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Testimonial}",
                "operationId": "api.v1.platform.cms.testimonials.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "testimonial",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Testimonial}",
                "operationId": "api.v1.platform.cms.testimonials.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "testimonial",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Testimonial}",
                "operationId": "api.v1.platform.cms.testimonials.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "testimonial",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Testimonial}",
                "operationId": "api.v1.platform.cms.testimonials.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "testimonial",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/gateway-availability": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Gateway Availability",
                "operationId": "api.v1.platform.gateway-availability.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "Gateway Availability",
                "operationId": "api.v1.platform.gateway-availability.update",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/me": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Me",
                "operationId": "api.v1.platform.me",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/metrics/overview": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Overview",
                "operationId": "api.v1.platform.metrics.overview",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/modules": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Modules",
                "operationId": "api.v1.platform.modules.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/modules/release": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Release",
                "operationId": "api.v1.platform.modules.release",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/modules/sync": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Sync",
                "operationId": "api.v1.platform.modules.sync",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/modules/{module}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Module}",
                "operationId": "api.v1.platform.modules.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "module",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Module}",
                "operationId": "api.v1.platform.modules.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "module",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Plans",
                "operationId": "api.v1.platform.plans.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/sync-stripe": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Sync Stripe",
                "operationId": "api.v1.platform.plans.sync-stripe",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/{plan}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Plan}",
                "operationId": "api.v1.platform.plans.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Plan}",
                "operationId": "api.v1.platform.plans.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/{plan}/features": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Features",
                "operationId": "api.v1.platform.plans.features.index",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Features",
                "operationId": "api.v1.platform.plans.features.store",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/{plan}/features/{feature}": {
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "{Feature}",
                "operationId": "api.v1.platform.plans.features.update",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "feature",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Platform"
                ],
                "summary": "Delete {Feature}",
                "operationId": "api.v1.platform.plans.features.destroy",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "feature",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/{plan}/prices": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Prices",
                "operationId": "api.v1.platform.plans.prices.index",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Prices",
                "operationId": "api.v1.platform.plans.prices.store",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/plans/{plan}/prices/{price}/deactivate": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Deactivate",
                "operationId": "api.v1.platform.plans.prices.deactivate",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "plan",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "price",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/site-settings": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Site Settings",
                "operationId": "api.v1.platform.site-settings.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Platform"
                ],
                "summary": "Site Settings",
                "operationId": "api.v1.platform.site-settings.update",
                "x-module": "platform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/stripe-events": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Stripe Events",
                "operationId": "api.v1.platform.stripe-events.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/stripe-events/{event}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Event}",
                "operationId": "api.v1.platform.stripe-events.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "event",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/subscriptions": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Subscriptions",
                "operationId": "api.v1.platform.subscriptions.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/subscriptions/{subscription}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Subscription}",
                "operationId": "api.v1.platform.subscriptions.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "subscription",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Tenants",
                "operationId": "api.v1.platform.tenants.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Tenant}",
                "operationId": "api.v1.platform.tenants.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/assign-plan": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Assign Plan",
                "operationId": "api.v1.platform.tenants.assign-plan",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/companies": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Companies",
                "operationId": "api.v1.platform.tenants.companies",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/extend-trial": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Extend Trial",
                "operationId": "api.v1.platform.tenants.extend-trial",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/impersonate": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Impersonate",
                "operationId": "api.v1.platform.tenants.impersonate",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/members": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Members",
                "operationId": "api.v1.platform.tenants.members",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/reactivate": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Reactivate",
                "operationId": "api.v1.platform.tenants.reactivate",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/subscription": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Subscription",
                "operationId": "api.v1.platform.tenants.subscription",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tenants/{tenant}/suspend": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Suspend",
                "operationId": "api.v1.platform.tenants.suspend",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Tickets",
                "operationId": "api.v1.platform.tickets.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets/{ticket}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {Ticket}",
                "operationId": "api.v1.platform.tickets.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets/{ticket}/assign-to-me": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Assign To Me",
                "operationId": "api.v1.platform.tickets.assign-to-me",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets/{ticket}/close": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Close",
                "operationId": "api.v1.platform.tickets.close",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets/{ticket}/priority": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Priority",
                "operationId": "api.v1.platform.tickets.priority",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/tickets/{ticket}/reply": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Reply",
                "operationId": "api.v1.platform.tickets.reply",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/users": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Users",
                "operationId": "api.v1.platform.users.index",
                "x-module": "platform",
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/users/{user}": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get {User}",
                "operationId": "api.v1.platform.users.show",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/users/{user}/reset-two-factor": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Reset Two Factor",
                "operationId": "api.v1.platform.users.reset-two-factor",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/platform/users/{user}/verify-email": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Create Verify Email",
                "operationId": "api.v1.platform.users.verify-email",
                "x-module": "platform",
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos": {
            "get": {
                "tags": [
                    "Plm"
                ],
                "summary": "List Ecos",
                "operationId": "plm.api.ecos.index",
                "x-module": "plm",
                "x-required-permission": "plm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Create a Eco",
                "operationId": "plm.api.ecos.store",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}": {
            "get": {
                "tags": [
                    "Plm"
                ],
                "summary": "Get a Eco",
                "operationId": "plm.api.ecos.show",
                "x-module": "plm",
                "x-required-permission": "plm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Plm"
                ],
                "summary": "Update a Eco",
                "operationId": "plm.api.ecos.update",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}/cancel": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Cancel a Eco",
                "operationId": "plm.api.ecos.cancel",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}/decide": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Decide a Eco",
                "operationId": "plm.api.ecos.decide",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}/implement": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Implement a Eco",
                "operationId": "plm.api.ecos.implement",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}/lines": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Create a Eco",
                "operationId": "plm.api.ecos.lines.store",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/ecos/{id}/submit": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Submit a Eco",
                "operationId": "plm.api.ecos.submit",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/revisions": {
            "get": {
                "tags": [
                    "Plm"
                ],
                "summary": "List Revisions",
                "operationId": "plm.api.revisions.index",
                "x-module": "plm",
                "x-required-permission": "plm.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Create a Revision",
                "operationId": "plm.api.revisions.store",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/revisions/{id}": {
            "get": {
                "tags": [
                    "Plm"
                ],
                "summary": "Get a Revision",
                "operationId": "plm.api.revisions.show",
                "x-module": "plm",
                "x-required-permission": "plm.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/plm/revisions/{id}/activate": {
            "post": {
                "tags": [
                    "Plm"
                ],
                "summary": "Activate a Revision",
                "operationId": "plm.api.revisions.activate",
                "x-module": "plm",
                "x-required-permission": "plm.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/config": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Config",
                "operationId": "pos_restaurant.api.config.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Save a Config",
                "operationId": "pos_restaurant.api.config.save",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/floors": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Floors",
                "operationId": "pos_restaurant.api.floors.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Create a Floor",
                "operationId": "pos_restaurant.api.floors.store",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/floors/{floor}": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Floor",
                "operationId": "pos_restaurant.api.floors.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "floor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Update a Floor",
                "operationId": "pos_restaurant.api.floors.update",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "floor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Delete a Floor",
                "operationId": "pos_restaurant.api.floors.destroy",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "floor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/kitchen-tickets": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Kitchen Tickets",
                "operationId": "pos_restaurant.api.kitchen-tickets.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/kitchen-tickets/{ticket}": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Kitchen Ticket",
                "operationId": "pos_restaurant.api.kitchen-tickets.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/kitchen-tickets/{ticket}/advance": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Advance a Kitchen Ticket",
                "operationId": "pos_restaurant.api.kitchen-tickets.advance",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.kitchen",
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Orders",
                "operationId": "pos_restaurant.api.orders.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{id}": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Order",
                "operationId": "pos_restaurant.api.orders.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/fire": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Fire a Order",
                "operationId": "pos_restaurant.api.orders.fire",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/lines": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Create a Order",
                "operationId": "pos_restaurant.api.orders.lines.store",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/lines/{line}": {
            "put": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Update a Order",
                "operationId": "pos_restaurant.api.orders.lines.update",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "line",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/merge": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Merge a Order",
                "operationId": "pos_restaurant.api.orders.merge",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/settle": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Settle a Order",
                "operationId": "pos_restaurant.api.orders.settle",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.settle",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/transfer": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Transfer a Order",
                "operationId": "pos_restaurant.api.orders.transfer",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/orders/{order}/void": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Void a Order",
                "operationId": "pos_restaurant.api.orders.void",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/products": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Products",
                "operationId": "pos_restaurant.api.products.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/stations": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Stations",
                "operationId": "pos_restaurant.api.stations.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Create a Station",
                "operationId": "pos_restaurant.api.stations.store",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/stations/{station}": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Station",
                "operationId": "pos_restaurant.api.stations.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "station",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Update a Station",
                "operationId": "pos_restaurant.api.stations.update",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "station",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Delete a Station",
                "operationId": "pos_restaurant.api.stations.destroy",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "station",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/tables": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "List Tables",
                "operationId": "pos_restaurant.api.tables.index",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Create a Table",
                "operationId": "pos_restaurant.api.tables.store",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/tables/{table}": {
            "get": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Get a Table",
                "operationId": "pos_restaurant.api.tables.show",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.view",
                "parameters": [
                    {
                        "name": "table",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Update a Table",
                "operationId": "pos_restaurant.api.tables.update",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "table",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Delete a Table",
                "operationId": "pos_restaurant.api.tables.destroy",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.manage",
                "parameters": [
                    {
                        "name": "table",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos-restaurant/tables/{table}/orders": {
            "post": {
                "tags": [
                    "Pos Restaurant"
                ],
                "summary": "Open a Table",
                "operationId": "pos_restaurant.api.tables.orders.open",
                "x-module": "pos_restaurant",
                "x-required-permission": "pos_restaurant.serve",
                "parameters": [
                    {
                        "name": "table",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/configs": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Configs",
                "operationId": "pos.api.configs.index",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Create a Config",
                "operationId": "pos.api.configs.store",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/configs/{id}": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Get a Config",
                "operationId": "pos.api.configs.show",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos"
                ],
                "summary": "Update a Config",
                "operationId": "pos.api.configs.update",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/configs/{id}/payment-methods": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Payment Methods a Config",
                "operationId": "pos.api.configs.payment-methods",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Create a Config",
                "operationId": "pos.api.configs.payment-methods.store",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/offline-queue": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Offline Queue",
                "operationId": "pos.api.offline-queue.index",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/offline-queue/sync": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Sync a Offline Queue",
                "operationId": "pos.api.offline-queue.sync",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/orders": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Orders",
                "operationId": "pos.api.orders.index",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/orders/{id}": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Get a Order",
                "operationId": "pos.api.orders.show",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/orders/{id}/print-jobs": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Print Jobs a Order",
                "operationId": "pos.api.orders.print-jobs",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/orders/{id}/refund": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Refund a Order",
                "operationId": "pos.api.orders.refund",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/print-jobs": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Queue a Print Job",
                "operationId": "pos.api.print-jobs.queue",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/print-jobs/{id}/failed": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Failed a Print Job",
                "operationId": "pos.api.print-jobs.failed",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/print-jobs/{id}/printed": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Printed a Print Job",
                "operationId": "pos.api.print-jobs.printed",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/printers": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Printers",
                "operationId": "pos.api.printers.index",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Create a Printer",
                "operationId": "pos.api.printers.store",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/printers/{id}": {
            "put": {
                "tags": [
                    "Pos"
                ],
                "summary": "Update a Printer",
                "operationId": "pos.api.printers.update",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pos"
                ],
                "summary": "Delete a Printer",
                "operationId": "pos.api.printers.destroy",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/printers/{id}/check": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Check a Printer",
                "operationId": "pos.api.printers.check",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/products": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Products",
                "operationId": "pos.api.products.index",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Create a Product",
                "operationId": "pos.api.products.store",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/products/{id}": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Get a Product",
                "operationId": "pos.api.products.show",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Pos"
                ],
                "summary": "Update a Product",
                "operationId": "pos.api.products.update",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Pos"
                ],
                "summary": "Delete a Product",
                "operationId": "pos.api.products.destroy",
                "x-module": "pos",
                "x-required-permission": "pos.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/reports/summary": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Summary a Report",
                "operationId": "pos.api.reports.summary",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "List Sessions",
                "operationId": "pos.api.sessions.index",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Create a Session",
                "operationId": "pos.api.sessions.store",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Get a Session",
                "operationId": "pos.api.sessions.show",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}/cash-movements": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Cash Movements a Session",
                "operationId": "pos.api.sessions.cash-movements",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}/cashiers": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Cashiers a Session",
                "operationId": "pos.api.sessions.cashiers",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}/close": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Close a Session",
                "operationId": "pos.api.sessions.close",
                "x-module": "pos",
                "x-required-permission": "pos.close_session",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}/orders": {
            "post": {
                "tags": [
                    "Pos"
                ],
                "summary": "Complete a Session",
                "operationId": "pos.api.sessions.orders.complete",
                "x-module": "pos",
                "x-required-permission": "pos.sell",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/pos/sessions/{id}/report": {
            "get": {
                "tags": [
                    "Pos"
                ],
                "summary": "Report a Session",
                "operationId": "pos.api.sessions.report",
                "x-module": "pos",
                "x-required-permission": "pos.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get Practice",
                "operationId": "practice.api.dashboard",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/clients": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Clients",
                "operationId": "practice.api.clients.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Client",
                "operationId": "practice.api.clients.store",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/clients/{client}": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get a Client",
                "operationId": "practice.api.clients.show",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Practice"
                ],
                "summary": "Update a Client",
                "operationId": "practice.api.clients.update",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/deadlines": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Deadlines",
                "operationId": "practice.api.deadlines.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Deadline",
                "operationId": "practice.api.deadlines.store",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/deadlines/{deadline}": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get a Deadline",
                "operationId": "practice.api.deadlines.show",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "deadline",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Practice"
                ],
                "summary": "Update a Deadline",
                "operationId": "practice.api.deadlines.update",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "deadline",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/deadlines/{deadline}/done": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Done a Deadline",
                "operationId": "practice.api.deadlines.done",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "deadline",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/document-requests": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Document Requests",
                "operationId": "practice.api.document-requests.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Document Request",
                "operationId": "practice.api.document-requests.store",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/document-requests/{documentRequest}": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get a Document Request",
                "operationId": "practice.api.document-requests.show",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "documentRequest",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Practice"
                ],
                "summary": "Update a Document Request",
                "operationId": "practice.api.document-requests.update",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "documentRequest",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/document-requests/{documentRequest}/state": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "State a Document Request",
                "operationId": "practice.api.document-requests.state",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "documentRequest",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/engagements": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Engagements",
                "operationId": "practice.api.engagements.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Engagement",
                "operationId": "practice.api.engagements.store",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/engagements/{engagement}": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get a Engagement",
                "operationId": "practice.api.engagements.show",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "engagement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Practice"
                ],
                "summary": "Update a Engagement",
                "operationId": "practice.api.engagements.update",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "engagement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/engagements/{engagement}/assign": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Assign a Engagement",
                "operationId": "practice.api.engagements.assign",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "engagement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/engagements/{engagement}/bill": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Bill a Engagement",
                "operationId": "practice.api.engagements.bill",
                "x-module": "practice",
                "x-required-permission": "practice.bill",
                "parameters": [
                    {
                        "name": "engagement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/engagements/{engagement}/state": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "State a Engagement",
                "operationId": "practice.api.engagements.state",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "engagement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/tasks": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Tasks",
                "operationId": "practice.api.tasks.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Task",
                "operationId": "practice.api.tasks.store",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/tasks/{task}": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "Get a Task",
                "operationId": "practice.api.tasks.show",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Practice"
                ],
                "summary": "Update a Task",
                "operationId": "practice.api.tasks.update",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/tasks/{task}/complete": {
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Complete a Task",
                "operationId": "practice.api.tasks.complete",
                "x-module": "practice",
                "x-required-permission": "practice.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/practice/time-entries": {
            "get": {
                "tags": [
                    "Practice"
                ],
                "summary": "List Time Entries",
                "operationId": "practice.api.time-entries.index",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Practice"
                ],
                "summary": "Create a Time Entry",
                "operationId": "practice.api.time-entries.store",
                "x-module": "practice",
                "x-required-permission": "practice.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/milestones/{milestone}/toggle": {
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Toggle a Milestone",
                "operationId": "project.api.milestones.toggle",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "milestone",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/my-tasks": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "Mine a Task",
                "operationId": "project.api.tasks.mine",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "List Projects",
                "operationId": "project.api.projects.index",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Project",
                "operationId": "project.api.projects.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects/{project}": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "Get a Project",
                "operationId": "project.api.projects.show",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Project"
                ],
                "summary": "Update a Project",
                "operationId": "project.api.projects.update",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects/{project}/milestones": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "List Projects",
                "operationId": "project.api.projects.milestones.index",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Project",
                "operationId": "project.api.projects.milestones.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects/{project}/stages": {
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Project",
                "operationId": "project.api.projects.stages.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects/{project}/tasks": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "Tasks a Project",
                "operationId": "project.api.projects.tasks",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Task",
                "operationId": "project.api.tasks.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/projects/{project}/updates": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "List Projects",
                "operationId": "project.api.projects.updates.index",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Project",
                "operationId": "project.api.projects.updates.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/tasks/{task}": {
            "patch": {
                "tags": [
                    "Project"
                ],
                "summary": "Update a Task",
                "operationId": "project.api.tasks.update",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/tasks/{task}/dependencies": {
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Create a Task",
                "operationId": "project.api.tasks.dependencies.store",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/project/tasks/{task}/dependencies/{dependency}": {
            "delete": {
                "tags": [
                    "Project"
                ],
                "summary": "Delete a Task",
                "operationId": "project.api.tasks.dependencies.destroy",
                "x-module": "project",
                "x-required-permission": "project.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "dependency",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/app-listings": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get App Listings",
                "operationId": "api.v1.public.app-listings.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/app-listings/{slug}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Slug}",
                "operationId": "api.v1.public.app-listings.show",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/brand-assets": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Brand Assets",
                "operationId": "api.v1.public.brand-assets.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/changelog": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Changelog",
                "operationId": "api.v1.public.changelog.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/contact-messages": {
            "post": {
                "tags": [
                    "Public"
                ],
                "summary": "Create Contact Messages",
                "operationId": "api.v1.public.contact-messages.store",
                "x-module": "public",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/faqs": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Faqs",
                "operationId": "api.v1.public.faqs.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/helpdesk/companies/{company}/teams": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Teams",
                "operationId": "api.v1.public.helpdesk.teams",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "company",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/helpdesk/companies/{company}/tickets": {
            "post": {
                "tags": [
                    "Public"
                ],
                "summary": "Create Tickets",
                "operationId": "api.v1.public.helpdesk.tickets.submit",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "company",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/helpdesk/tickets/{token}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Token}",
                "operationId": "api.v1.public.helpdesk.tickets.track",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/helpdesk/tickets/{token}/rating": {
            "post": {
                "tags": [
                    "Public"
                ],
                "summary": "Create Rating",
                "operationId": "api.v1.public.helpdesk.tickets.rate",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/helpdesk/tickets/{token}/replies": {
            "post": {
                "tags": [
                    "Public"
                ],
                "summary": "Create Replies",
                "operationId": "api.v1.public.helpdesk.tickets.reply",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/kb/articles/{category}/{article}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Article}",
                "operationId": "api.v1.public.kb.articles.show",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "category",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "article",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/kb/categories": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Categories",
                "operationId": "api.v1.public.kb.categories.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/kb/categories/{slug}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Slug}",
                "operationId": "api.v1.public.kb.categories.show",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/newsletter/subscribe": {
            "post": {
                "tags": [
                    "Public"
                ],
                "summary": "Create Subscribe",
                "operationId": "api.v1.public.newsletter.subscribe",
                "x-module": "public",
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/pages/{slug}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Slug}",
                "operationId": "api.v1.public.pages.show",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/plans": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Plans",
                "operationId": "api.v1.public.plans",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/post-categories": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Post Categories",
                "operationId": "api.v1.public.post-categories.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/posts": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Posts",
                "operationId": "api.v1.public.posts.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/posts/{slug}": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get {Slug}",
                "operationId": "api.v1.public.posts.show",
                "x-module": "public",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/site-settings": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Site Settings",
                "operationId": "api.v1.public.site-settings",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/public/testimonials": {
            "get": {
                "tags": [
                    "Public"
                ],
                "summary": "Get Testimonials",
                "operationId": "api.v1.public.testimonials.index",
                "x-module": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "List Orders",
                "operationId": "purchasing.api.orders.index",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Create a Order",
                "operationId": "purchasing.api.orders.store",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders/{id}": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Get a Order",
                "operationId": "purchasing.api.orders.show",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Update a Order",
                "operationId": "purchasing.api.orders.update",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders/{id}/cancel": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Cancel a Order",
                "operationId": "purchasing.api.orders.cancel",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders/{id}/confirm": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Confirm a Order",
                "operationId": "purchasing.api.orders.confirm",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders/{id}/issue-bill": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Issue Bill a Order",
                "operationId": "purchasing.api.orders.issue-bill",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.bill",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/orders/{id}/send-rfq": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Send Rfq a Order",
                "operationId": "purchasing.api.orders.send-rfq",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/ratings": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "List Ratings",
                "operationId": "purchasing.api.ratings.index",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Create a Rating",
                "operationId": "purchasing.api.ratings.store",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/ratings/{id}": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Get a Rating",
                "operationId": "purchasing.api.ratings.show",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/receipts": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "List Receipts",
                "operationId": "purchasing.api.receipts.index",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Create a Receipt",
                "operationId": "purchasing.api.receipts.store",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.receive",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/receipts/{id}": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Get a Receipt",
                "operationId": "purchasing.api.receipts.show",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Delete a Receipt",
                "operationId": "purchasing.api.receipts.destroy",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.receive",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/receipts/{id}/post": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Post a Receipt",
                "operationId": "purchasing.api.receipts.post",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.receive",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "List Requests",
                "operationId": "purchasing.api.requests.index",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Create a Request",
                "operationId": "purchasing.api.requests.store",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests/{id}": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Get a Request",
                "operationId": "purchasing.api.requests.show",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Update a Request",
                "operationId": "purchasing.api.requests.update",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests/{id}/approve": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Approve a Request",
                "operationId": "purchasing.api.requests.approve",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests/{id}/convert": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Convert a Request",
                "operationId": "purchasing.api.requests.convert",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests/{id}/reject": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Reject a Request",
                "operationId": "purchasing.api.requests.reject",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/requests/{id}/submit": {
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Submit a Request",
                "operationId": "purchasing.api.requests.submit",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/suppliers": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "List Suppliers",
                "operationId": "purchasing.api.suppliers.index",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Create a Supplier",
                "operationId": "purchasing.api.suppliers.store",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/purchasing/suppliers/{id}": {
            "get": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Get a Supplier",
                "operationId": "purchasing.api.suppliers.show",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Update a Supplier",
                "operationId": "purchasing.api.suppliers.update",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Purchasing"
                ],
                "summary": "Delete a Supplier",
                "operationId": "purchasing.api.suppliers.destroy",
                "x-module": "purchasing",
                "x-required-permission": "purchasing.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/alerts": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "List Alerts",
                "operationId": "quality.api.alerts.index",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Create a Alert",
                "operationId": "quality.api.alerts.store",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/alerts/{id}": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "Get a Alert",
                "operationId": "quality.api.alerts.show",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/alerts/{id}/advance": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Advance a Alert",
                "operationId": "quality.api.alerts.advance",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/control-points": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "List Control Points",
                "operationId": "quality.api.control-points.index",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Create a Control Point",
                "operationId": "quality.api.control-points.store",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/control-points/{id}": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "Get a Control Point",
                "operationId": "quality.api.control-points.show",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Quality"
                ],
                "summary": "Update a Control Point",
                "operationId": "quality.api.control-points.update",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/control-points/{id}/activate": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Activate a Control Point",
                "operationId": "quality.api.control-points.activate",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/control-points/{id}/archive": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Archive a Control Point",
                "operationId": "quality.api.control-points.archive",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/corrective-actions": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "List Corrective Actions",
                "operationId": "quality.api.corrective-actions.index",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Create a Corrective Action",
                "operationId": "quality.api.corrective-actions.store",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/corrective-actions/{id}": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "Get a Corrective Action",
                "operationId": "quality.api.corrective-actions.show",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Quality"
                ],
                "summary": "Delete a Corrective Action",
                "operationId": "quality.api.corrective-actions.destroy",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/corrective-actions/{id}/advance": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Advance a Corrective Action",
                "operationId": "quality.api.corrective-actions.advance",
                "x-module": "quality",
                "x-required-permission": "quality.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "List Inspections",
                "operationId": "quality.api.inspections.index",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Create a Inspection",
                "operationId": "quality.api.inspections.store",
                "x-module": "quality",
                "x-required-permission": "quality.inspect",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections/{id}": {
            "get": {
                "tags": [
                    "Quality"
                ],
                "summary": "Get a Inspection",
                "operationId": "quality.api.inspections.show",
                "x-module": "quality",
                "x-required-permission": "quality.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections/{id}/cancel": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Cancel a Inspection",
                "operationId": "quality.api.inspections.cancel",
                "x-module": "quality",
                "x-required-permission": "quality.inspect",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections/{id}/complete": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Complete a Inspection",
                "operationId": "quality.api.inspections.complete",
                "x-module": "quality",
                "x-required-permission": "quality.inspect",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections/{id}/results": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Results a Inspection",
                "operationId": "quality.api.inspections.results",
                "x-module": "quality",
                "x-required-permission": "quality.inspect",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/quality/inspections/{id}/start": {
            "post": {
                "tags": [
                    "Quality"
                ],
                "summary": "Start a Inspection",
                "operationId": "quality.api.inspections.start",
                "x-module": "quality",
                "x-required-permission": "quality.inspect",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/applicants/{applicant}": {
            "get": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Get a Applicant",
                "operationId": "recruitment.api.applicants.show",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.view",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Update a Applicant",
                "operationId": "recruitment.api.applicants.update",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Delete a Applicant",
                "operationId": "recruitment.api.applicants.destroy",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/applicants/{applicant}/hire": {
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Hire a Applicant",
                "operationId": "recruitment.api.applicants.hire",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/applicants/{applicant}/move": {
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Move a Applicant",
                "operationId": "recruitment.api.applicants.move",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/applicants/{applicant}/rate": {
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Rate a Applicant",
                "operationId": "recruitment.api.applicants.rate",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "applicant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/jobs": {
            "get": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "List Jobs",
                "operationId": "recruitment.api.jobs.index",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Create a Job",
                "operationId": "recruitment.api.jobs.store",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/jobs/stats": {
            "get": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Stats a Job",
                "operationId": "recruitment.api.jobs.stats",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/jobs/{job}": {
            "get": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Get a Job",
                "operationId": "recruitment.api.jobs.show",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.view",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Update a Job",
                "operationId": "recruitment.api.jobs.update",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Delete a Job",
                "operationId": "recruitment.api.jobs.destroy",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/jobs/{job}/applicants": {
            "get": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "List Jobs",
                "operationId": "recruitment.api.jobs.applicants.index",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.view",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Create a Job",
                "operationId": "recruitment.api.jobs.applicants.store",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/recruitment/jobs/{job}/status": {
            "post": {
                "tags": [
                    "Recruitment"
                ],
                "summary": "Status a Job",
                "operationId": "recruitment.api.jobs.status",
                "x-module": "recruitment",
                "x-required-permission": "recruitment.manage",
                "parameters": [
                    {
                        "name": "job",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Get Referrals",
                "operationId": "referrals.api.dashboard",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/candidates": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "List Candidates",
                "operationId": "referrals.api.candidates.index",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Create a Candidate",
                "operationId": "referrals.api.candidates.store",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/candidates/{candidate}": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Get a Candidate",
                "operationId": "referrals.api.candidates.show",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "candidate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/candidates/{candidate}/advance": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Advance a Candidate",
                "operationId": "referrals.api.candidates.advance",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "candidate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/candidates/{candidate}/reject": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Reject a Candidate",
                "operationId": "referrals.api.candidates.reject",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "candidate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/candidates/{candidate}/withdraw": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Withdraw a Candidate",
                "operationId": "referrals.api.candidates.withdraw",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "candidate",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/postings": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "List Postings",
                "operationId": "referrals.api.postings.index",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Create a Posting",
                "operationId": "referrals.api.postings.store",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/postings/{posting}": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Get a Posting",
                "operationId": "referrals.api.postings.show",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "posting",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Update a Posting",
                "operationId": "referrals.api.postings.update",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "posting",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/postings/{posting}/share-link": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Share Link a Posting",
                "operationId": "referrals.api.postings.share-link",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "posting",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/postings/{posting}/status": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Status a Posting",
                "operationId": "referrals.api.postings.status",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "posting",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/rewards": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "List Rewards",
                "operationId": "referrals.api.rewards.index",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/rewards/{reward}": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Get a Reward",
                "operationId": "referrals.api.rewards.show",
                "x-module": "referrals",
                "x-required-permission": "referrals.view",
                "parameters": [
                    {
                        "name": "reward",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/rewards/{reward}/approve": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Approve a Reward",
                "operationId": "referrals.api.rewards.approve",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "reward",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/rewards/{reward}/cancel": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Cancel a Reward",
                "operationId": "referrals.api.rewards.cancel",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "reward",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/rewards/{reward}/pay": {
            "post": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Pay a Reward",
                "operationId": "referrals.api.rewards.pay",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "reward",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/referrals/settings": {
            "get": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Get Settings",
                "operationId": "referrals.api.settings",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Referrals"
                ],
                "summary": "Update a Setting",
                "operationId": "referrals.api.settings.update",
                "x-module": "referrals",
                "x-required-permission": "referrals.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/notes/{note}": {
            "delete": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Delete a Note",
                "operationId": "remote_assist.api.notes.destroy",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.manage",
                "parameters": [
                    {
                        "name": "note",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions": {
            "get": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "List Sessions",
                "operationId": "remote_assist.api.sessions.index",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Create a Session",
                "operationId": "remote_assist.api.sessions.store",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions/{session}": {
            "get": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Get a Session",
                "operationId": "remote_assist.api.sessions.show",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Update a Session",
                "operationId": "remote_assist.api.sessions.update",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.manage",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Delete a Session",
                "operationId": "remote_assist.api.sessions.destroy",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.manage",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions/{session}/end": {
            "post": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "End a Session",
                "operationId": "remote_assist.api.sessions.end",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions/{session}/join": {
            "post": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Join a Session",
                "operationId": "remote_assist.api.sessions.join",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions/{session}/leave": {
            "post": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Leave a Session",
                "operationId": "remote_assist.api.sessions.leave",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/remote-assist/sessions/{session}/notes": {
            "get": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "List Sessions",
                "operationId": "remote_assist.api.sessions.notes.index",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Remote Assist"
                ],
                "summary": "Create a Session",
                "operationId": "remote_assist.api.sessions.notes.store",
                "x-module": "remote_assist",
                "x-required-permission": "remote_assist.view",
                "parameters": [
                    {
                        "name": "session",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/items": {
            "get": {
                "tags": [
                    "Rental"
                ],
                "summary": "List Items",
                "operationId": "rental.api.items.index",
                "x-module": "rental",
                "x-required-permission": "rental.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Create a Item",
                "operationId": "rental.api.items.store",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/items/{item}": {
            "get": {
                "tags": [
                    "Rental"
                ],
                "summary": "Get a Item",
                "operationId": "rental.api.items.show",
                "x-module": "rental",
                "x-required-permission": "rental.view",
                "parameters": [
                    {
                        "name": "item",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Rental"
                ],
                "summary": "Update a Item",
                "operationId": "rental.api.items.update",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "item",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders": {
            "get": {
                "tags": [
                    "Rental"
                ],
                "summary": "List Orders",
                "operationId": "rental.api.orders.index",
                "x-module": "rental",
                "x-required-permission": "rental.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Create a Order",
                "operationId": "rental.api.orders.store",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}": {
            "get": {
                "tags": [
                    "Rental"
                ],
                "summary": "Get a Order",
                "operationId": "rental.api.orders.show",
                "x-module": "rental",
                "x-required-permission": "rental.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Rental"
                ],
                "summary": "Update a Order",
                "operationId": "rental.api.orders.update",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/cancel": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Cancel a Order",
                "operationId": "rental.api.orders.cancel",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/close": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Close a Order",
                "operationId": "rental.api.orders.close",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/confirm": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Confirm a Order",
                "operationId": "rental.api.orders.confirm",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/invoice": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Invoice a Order",
                "operationId": "rental.api.orders.invoice",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/pickup": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Pickup a Order",
                "operationId": "rental.api.orders.pickup",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/return": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Return a Order",
                "operationId": "rental.api.orders.return",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/settle-deposit": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Settle Deposit a Order",
                "operationId": "rental.api.orders.settle-deposit",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rental/orders/{order}/sign": {
            "post": {
                "tags": [
                    "Rental"
                ],
                "summary": "Sign a Order",
                "operationId": "rental.api.orders.sign",
                "x-module": "rental",
                "x-required-permission": "rental.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders": {
            "get": {
                "tags": [
                    "Repairs"
                ],
                "summary": "List Orders",
                "operationId": "repairs.api.orders.index",
                "x-module": "repairs",
                "x-required-permission": "repairs.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Create a Order",
                "operationId": "repairs.api.orders.store",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders/{order}": {
            "get": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Get a Order",
                "operationId": "repairs.api.orders.show",
                "x-module": "repairs",
                "x-required-permission": "repairs.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Update a Order",
                "operationId": "repairs.api.orders.update",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders/{order}/invoice": {
            "post": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Invoice a Order",
                "operationId": "repairs.api.orders.invoice",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders/{order}/labor": {
            "post": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Labor a Order",
                "operationId": "repairs.api.orders.labor",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders/{order}/lines": {
            "post": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Lines a Order",
                "operationId": "repairs.api.orders.lines",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/repairs/orders/{order}/transition": {
            "post": {
                "tags": [
                    "Repairs"
                ],
                "summary": "Transition a Order",
                "operationId": "repairs.api.orders.transition",
                "x-module": "repairs",
                "x-required-permission": "repairs.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "List Dashboards",
                "operationId": "reporting.api.dashboards.index",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Create a Dashboard",
                "operationId": "reporting.api.dashboards.store",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards/{dashboard}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a Dashboard",
                "operationId": "reporting.api.dashboards.show",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Update a Dashboard",
                "operationId": "reporting.api.dashboards.update",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Delete a Dashboard",
                "operationId": "reporting.api.dashboards.destroy",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards/{dashboard}/duplicate": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Duplicate a Dashboard",
                "operationId": "reporting.api.dashboards.duplicate",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards/{dashboard}/layout": {
            "put": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Layout a Dashboard",
                "operationId": "reporting.api.dashboards.layout",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards/{dashboard}/run": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Run a Dashboard",
                "operationId": "reporting.api.dashboards.run",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/dashboards/{dashboard}/share": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Share a Dashboard",
                "operationId": "reporting.api.dashboards.share",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "dashboard",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "List Reports",
                "operationId": "reporting.api.reports.index",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Create a Report",
                "operationId": "reporting.api.reports.store",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports/{report}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a Report",
                "operationId": "reporting.api.reports.show",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Update a Report",
                "operationId": "reporting.api.reports.update",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Delete a Report",
                "operationId": "reporting.api.reports.destroy",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports/{report}/definition": {
            "put": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Definition a Report",
                "operationId": "reporting.api.reports.definition",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports/{report}/duplicate": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Duplicate a Report",
                "operationId": "reporting.api.reports.duplicate",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports/{report}/export": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Export a Report",
                "operationId": "reporting.api.reports.export",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/reports/{report}/run": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Run a Report",
                "operationId": "reporting.api.reports.run",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "report",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/schedules": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "List Schedules",
                "operationId": "reporting.api.schedules.index",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Create a Schedule",
                "operationId": "reporting.api.schedules.store",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/schedules/{schedule}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a Schedule",
                "operationId": "reporting.api.schedules.show",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Update a Schedule",
                "operationId": "reporting.api.schedules.update",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Delete a Schedule",
                "operationId": "reporting.api.schedules.destroy",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "schedule",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/snapshots": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "List Snapshots",
                "operationId": "reporting.api.snapshots.index",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/snapshots/run": {
            "post": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Run Now a Snapshot",
                "operationId": "reporting.api.snapshots.run-now",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/snapshots/{snapshot}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a Snapshot",
                "operationId": "reporting.api.snapshots.show",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "snapshot",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Delete a Snapshot",
                "operationId": "reporting.api.snapshots.destroy",
                "x-module": "reporting",
                "x-required-permission": "reporting.manage",
                "parameters": [
                    {
                        "name": "snapshot",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/reporting/snapshots/{snapshot}/download": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Download a Snapshot",
                "operationId": "reporting.api.snapshots.download",
                "x-module": "reporting",
                "x-required-permission": "reporting.view",
                "parameters": [
                    {
                        "name": "snapshot",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "List Orders",
                "operationId": "sales.api.orders.index",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Create a Order",
                "operationId": "sales.api.orders.store",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders/{id}": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "Get a Order",
                "operationId": "sales.api.orders.show",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sales"
                ],
                "summary": "Update a Order",
                "operationId": "sales.api.orders.update",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Sales"
                ],
                "summary": "Delete a Order",
                "operationId": "sales.api.orders.destroy",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders/{id}/cancel": {
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Cancel a Order",
                "operationId": "sales.api.orders.cancel",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders/{id}/confirm": {
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Confirm a Order",
                "operationId": "sales.api.orders.confirm",
                "x-module": "sales",
                "x-required-permission": "sales.confirm",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders/{id}/invoice": {
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Invoice a Order",
                "operationId": "sales.api.orders.invoice",
                "x-module": "sales",
                "x-required-permission": "sales.invoice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/orders/{id}/returns": {
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Returns a Order",
                "operationId": "sales.api.orders.returns",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/pricelists": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "List Pricelists",
                "operationId": "sales.api.pricelists.index",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sales"
                ],
                "summary": "Create a Pricelist",
                "operationId": "sales.api.pricelists.store",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/pricelists/{id}": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "Get a Pricelist",
                "operationId": "sales.api.pricelists.show",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sales"
                ],
                "summary": "Update a Pricelist",
                "operationId": "sales.api.pricelists.update",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Sales"
                ],
                "summary": "Delete a Pricelist",
                "operationId": "sales.api.pricelists.destroy",
                "x-module": "sales",
                "x-required-permission": "sales.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/returns": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "List Returns",
                "operationId": "sales.api.returns.index",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sales/returns/{id}": {
            "get": {
                "tags": [
                    "Sales"
                ],
                "summary": "Get a Return",
                "operationId": "sales.api.returns.show",
                "x-module": "sales",
                "x-required-permission": "sales.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/pending": {
            "get": {
                "tags": [
                    "Sign"
                ],
                "summary": "Get Pending",
                "operationId": "sign.api.pending",
                "x-module": "sign",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/requests": {
            "get": {
                "tags": [
                    "Sign"
                ],
                "summary": "List Requests",
                "operationId": "sign.api.requests.index",
                "x-module": "sign",
                "x-required-permission": "sign.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Create a Request",
                "operationId": "sign.api.requests.store",
                "x-module": "sign",
                "x-required-permission": "sign.send",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/requests/{request}": {
            "get": {
                "tags": [
                    "Sign"
                ],
                "summary": "Get a Request",
                "operationId": "sign.api.requests.show",
                "x-module": "sign",
                "x-required-permission": "sign.view",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/requests/{request}/cancel": {
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Cancel a Request",
                "operationId": "sign.api.requests.cancel",
                "x-module": "sign",
                "x-required-permission": "sign.send",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/requests/{request}/send": {
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Send a Request",
                "operationId": "sign.api.requests.send",
                "x-module": "sign",
                "x-required-permission": "sign.send",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/signers/{signer}/code": {
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Code a Signer",
                "operationId": "sign.api.signers.code",
                "x-module": "sign",
                "parameters": [
                    {
                        "name": "signer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/signers/{signer}/refuse": {
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Refuse a Signer",
                "operationId": "sign.api.signers.refuse",
                "x-module": "sign",
                "parameters": [
                    {
                        "name": "signer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sign/signers/{signer}/sign": {
            "post": {
                "tags": [
                    "Sign"
                ],
                "summary": "Sign a Signer",
                "operationId": "sign.api.signers.sign",
                "x-module": "sign",
                "parameters": [
                    {
                        "name": "signer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Campaigns",
                "operationId": "sms_marketing.api.campaigns.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Create a Campaign",
                "operationId": "sms_marketing.api.campaigns.store",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Campaign",
                "operationId": "sms_marketing.api.campaigns.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Update a Campaign",
                "operationId": "sms_marketing.api.campaigns.update",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/duplicate": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Duplicate a Campaign",
                "operationId": "sms_marketing.api.campaigns.duplicate",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/pick-winner": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Pick Winner a Campaign",
                "operationId": "sms_marketing.api.campaigns.pick-winner",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/recipients": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Recipients a Campaign",
                "operationId": "sms_marketing.api.campaigns.recipients",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/schedule": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Schedule a Campaign",
                "operationId": "sms_marketing.api.campaigns.schedule",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/send": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Send a Campaign",
                "operationId": "sms_marketing.api.campaigns.send",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/state": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "State a Campaign",
                "operationId": "sms_marketing.api.campaigns.state",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/campaigns/{campaign}/test-send": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Test Send a Campaign",
                "operationId": "sms_marketing.api.campaigns.test-send",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/credits": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Credits",
                "operationId": "sms_marketing.api.credits.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/credits/adjust": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Adjust a Credit",
                "operationId": "sms_marketing.api.credits.adjust",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/credits/{credit}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Credit",
                "operationId": "sms_marketing.api.credits.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "credit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/lists": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Lists",
                "operationId": "sms_marketing.api.lists.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Create a List",
                "operationId": "sms_marketing.api.lists.store",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/lists/{list}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a List",
                "operationId": "sms_marketing.api.lists.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Update a List",
                "operationId": "sms_marketing.api.lists.update",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/lists/{list}/members": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Members a List",
                "operationId": "sms_marketing.api.lists.members",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/lists/{list}/subscribe": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Subscribe a List",
                "operationId": "sms_marketing.api.lists.subscribe",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/lists/{list}/unsubscribe": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Unsubscribe a List",
                "operationId": "sms_marketing.api.lists.unsubscribe",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/segments": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Segments",
                "operationId": "sms_marketing.api.segments.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Create a Segment",
                "operationId": "sms_marketing.api.segments.store",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/segments/{segment}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Segment",
                "operationId": "sms_marketing.api.segments.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "segment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Update a Segment",
                "operationId": "sms_marketing.api.segments.update",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "segment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/senders": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Senders",
                "operationId": "sms_marketing.api.senders.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Create a Sender",
                "operationId": "sms_marketing.api.senders.store",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/senders/{sender}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Sender",
                "operationId": "sms_marketing.api.senders.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Update a Sender",
                "operationId": "sms_marketing.api.senders.update",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/senders/{sender}/approve": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Approve a Sender",
                "operationId": "sms_marketing.api.senders.approve",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/senders/{sender}/reject": {
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Reject a Sender",
                "operationId": "sms_marketing.api.senders.reject",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "sender",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/settings": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Setting",
                "operationId": "sms_marketing.api.settings.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/templates": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "List Templates",
                "operationId": "sms_marketing.api.templates.index",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Create a Template",
                "operationId": "sms_marketing.api.templates.store",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/sms-marketing/templates/{template}": {
            "get": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Get a Template",
                "operationId": "sms_marketing.api.templates.show",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.view",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Sms Marketing"
                ],
                "summary": "Update a Template",
                "operationId": "sms_marketing.api.templates.update",
                "x-module": "sms_marketing",
                "x-required-permission": "sms_marketing.manage",
                "parameters": [
                    {
                        "name": "template",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/accounts": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "List Accounts",
                "operationId": "social.api.accounts.index",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Create a Account",
                "operationId": "social.api.accounts.store",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/accounts/{account}": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Get a Account",
                "operationId": "social.api.accounts.show",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "account",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/accounts/{account}/disconnect": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Disconnect a Account",
                "operationId": "social.api.accounts.disconnect",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "account",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/accounts/{account}/messages": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Create a Message",
                "operationId": "social.api.messages.store",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "account",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/accounts/{account}/refresh-token": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Refresh Token a Account",
                "operationId": "social.api.accounts.refresh-token",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "account",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/campaigns": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "List Campaigns",
                "operationId": "social.api.campaigns.index",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Create a Campaign",
                "operationId": "social.api.campaigns.store",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/campaigns/{campaign}": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Get a Campaign",
                "operationId": "social.api.campaigns.show",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Social"
                ],
                "summary": "Update a Campaign",
                "operationId": "social.api.campaigns.update",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/campaigns/{campaign}/state": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "State a Campaign",
                "operationId": "social.api.campaigns.state",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "campaign",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/leads": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "List Leads",
                "operationId": "social.api.leads.index",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/leads/{lead}": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Get a Lead",
                "operationId": "social.api.leads.show",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "lead",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Social"
                ],
                "summary": "Delete a Lead",
                "operationId": "social.api.leads.destroy",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "lead",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/leads/{lead}/state": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "State a Lead",
                "operationId": "social.api.leads.state",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "lead",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/messages": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "List Messages",
                "operationId": "social.api.messages.index",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/messages/{message}": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Get a Message",
                "operationId": "social.api.messages.show",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/messages/{message}/convert": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Convert a Lead",
                "operationId": "social.api.leads.convert",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/messages/{message}/mark": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Mark a Message",
                "operationId": "social.api.messages.mark",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/messages/{message}/reply": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Reply a Message",
                "operationId": "social.api.messages.reply",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "List Posts",
                "operationId": "social.api.posts.index",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Create a Post",
                "operationId": "social.api.posts.store",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Get a Post",
                "operationId": "social.api.posts.show",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Social"
                ],
                "summary": "Update a Post",
                "operationId": "social.api.posts.update",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/cancel": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Cancel a Post",
                "operationId": "social.api.posts.cancel",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/placements": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Placements a Post",
                "operationId": "social.api.posts.placements",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/placements/{placement}/engagements": {
            "get": {
                "tags": [
                    "Social"
                ],
                "summary": "Engagements a Post",
                "operationId": "social.api.posts.engagements",
                "x-module": "social",
                "x-required-permission": "social.view",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "placement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Create a Post",
                "operationId": "social.api.posts.engagements.store",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "placement",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/publish-now": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Publish Now a Post",
                "operationId": "social.api.posts.publish-now",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/retry": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Retry a Post",
                "operationId": "social.api.posts.retry",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/schedule": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Schedule a Post",
                "operationId": "social.api.posts.schedule",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/social/posts/{post}/unschedule": {
            "post": {
                "tags": [
                    "Social"
                ],
                "summary": "Unschedule a Post",
                "operationId": "social.api.posts.unschedule",
                "x-module": "social",
                "x-required-permission": "social.manage",
                "parameters": [
                    {
                        "name": "post",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/budgets": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "List Budgets",
                "operationId": "spend.api.budgets.index",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Create a Budget",
                "operationId": "spend.api.budgets.store",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/budgets/{id}": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "Get a Budget",
                "operationId": "spend.api.budgets.show",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Spend"
                ],
                "summary": "Update a Budget",
                "operationId": "spend.api.budgets.update",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Spend"
                ],
                "summary": "Delete a Budget",
                "operationId": "spend.api.budgets.destroy",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/categories": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "List Categories",
                "operationId": "spend.api.categories.index",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Create a Category",
                "operationId": "spend.api.categories.store",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/categories/{id}": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "Get a Category",
                "operationId": "spend.api.categories.show",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Spend"
                ],
                "summary": "Update a Category",
                "operationId": "spend.api.categories.update",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Spend"
                ],
                "summary": "Delete a Category",
                "operationId": "spend.api.categories.destroy",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/policies": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "List Policies",
                "operationId": "spend.api.policies.index",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Create a Policy",
                "operationId": "spend.api.policies.store",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/policies/{id}": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "Get a Policy",
                "operationId": "spend.api.policies.show",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Spend"
                ],
                "summary": "Update a Policy",
                "operationId": "spend.api.policies.update",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Spend"
                ],
                "summary": "Delete a Policy",
                "operationId": "spend.api.policies.destroy",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "List Requests",
                "operationId": "spend.api.requests.index",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Create a Request",
                "operationId": "spend.api.requests.store",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}": {
            "get": {
                "tags": [
                    "Spend"
                ],
                "summary": "Get a Request",
                "operationId": "spend.api.requests.show",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Spend"
                ],
                "summary": "Update a Request",
                "operationId": "spend.api.requests.update",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Spend"
                ],
                "summary": "Delete a Request",
                "operationId": "spend.api.requests.destroy",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/approve": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Approve a Request",
                "operationId": "spend.api.requests.approve",
                "x-module": "spend",
                "x-required-permission": "spend.approve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Cancel a Request",
                "operationId": "spend.api.requests.cancel",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/pay-advance": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Pay Advance a Request",
                "operationId": "spend.api.requests.pay-advance",
                "x-module": "spend",
                "x-required-permission": "spend.approve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/reconcile": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Reconcile a Request",
                "operationId": "spend.api.requests.reconcile",
                "x-module": "spend",
                "x-required-permission": "spend.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/reject": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Reject a Request",
                "operationId": "spend.api.requests.reject",
                "x-module": "spend",
                "x-required-permission": "spend.approve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/settle": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Settle a Request",
                "operationId": "spend.api.requests.settle",
                "x-module": "spend",
                "x-required-permission": "spend.approve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/spend/requests/{id}/submit": {
            "post": {
                "tags": [
                    "Spend"
                ],
                "summary": "Submit a Request",
                "operationId": "spend.api.requests.submit",
                "x-module": "spend",
                "x-required-permission": "spend.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/staffing/assignments": {
            "get": {
                "tags": [
                    "Staffing"
                ],
                "summary": "List Assignments",
                "operationId": "staffing.api.assignments.index",
                "x-module": "staffing",
                "x-required-permission": "staffing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Create a Assignment",
                "operationId": "staffing.api.assignments.store",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/staffing/assignments/{assignment}": {
            "get": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Get a Assignment",
                "operationId": "staffing.api.assignments.show",
                "x-module": "staffing",
                "x-required-permission": "staffing.view",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Update a Assignment",
                "operationId": "staffing.api.assignments.update",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Delete a Assignment",
                "operationId": "staffing.api.assignments.destroy",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/staffing/assignments/{assignment}/transition": {
            "post": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Transition a Assignment",
                "operationId": "staffing.api.assignments.transition",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "assignment",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/staffing/workers": {
            "get": {
                "tags": [
                    "Staffing"
                ],
                "summary": "List Workers",
                "operationId": "staffing.api.workers.index",
                "x-module": "staffing",
                "x-required-permission": "staffing.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Create a Worker",
                "operationId": "staffing.api.workers.store",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/staffing/workers/{worker}": {
            "get": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Get a Worker",
                "operationId": "staffing.api.workers.show",
                "x-module": "staffing",
                "x-required-permission": "staffing.view",
                "parameters": [
                    {
                        "name": "worker",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Update a Worker",
                "operationId": "staffing.api.workers.update",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "worker",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Staffing"
                ],
                "summary": "Delete a Worker",
                "operationId": "staffing.api.workers.destroy",
                "x-module": "staffing",
                "x-required-permission": "staffing.manage",
                "parameters": [
                    {
                        "name": "worker",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get {Slug}",
                "operationId": "api.v1.storefront.store",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Carts",
                "operationId": "api.v1.storefront.carts.add",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/buy-now": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Buy Now",
                "operationId": "api.v1.storefront.carts.buy-now",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/current": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Current",
                "operationId": "api.v1.storefront.carts.current",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/{cart}/coupon": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Coupon",
                "operationId": "api.v1.storefront.carts.coupon",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/{cart}/lines/{line}": {
            "put": {
                "tags": [
                    "Storefront"
                ],
                "summary": "{Line}",
                "operationId": "api.v1.storefront.carts.lines.update",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "line",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Delete {Line}",
                "operationId": "api.v1.storefront.carts.lines.destroy",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "line",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/{cart}/recover": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Recover",
                "operationId": "api.v1.storefront.carts.recover",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/{cart}/shipping": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Shipping",
                "operationId": "api.v1.storefront.carts.shipping",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/carts/{cart}/totals": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Totals",
                "operationId": "api.v1.storefront.carts.totals",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cart",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/catalog": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Catalog",
                "operationId": "api.v1.storefront.catalog",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/categories": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Categories",
                "operationId": "api.v1.storefront.categories",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/checkout": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Checkout",
                "operationId": "api.v1.storefront.checkout",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/filter-attributes": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Filter Attributes",
                "operationId": "api.v1.storefront.filter-attributes",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/home": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Home",
                "operationId": "api.v1.storefront.home",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/img/{file}": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get {File}",
                "operationId": "api.v1.storefront.image",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "file",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/orders/{order}": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get {Order}",
                "operationId": "api.v1.storefront.orders.show",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/payment-methods": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Payment Methods",
                "operationId": "api.v1.storefront.payment-methods",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/products/{product}": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get {Product}",
                "operationId": "api.v1.storefront.product",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/products/{product}/resolve-variant": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Resolve Variant",
                "operationId": "api.v1.storefront.resolve-variant",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/quick-order": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Quick Order",
                "operationId": "api.v1.storefront.quick-order",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/recently-viewed": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Recently Viewed",
                "operationId": "api.v1.storefront.recently-viewed",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/shipping": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Shipping",
                "operationId": "api.v1.storefront.shipping",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/track": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Track",
                "operationId": "api.v1.storefront.track",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/wishlist": {
            "get": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Get Wishlist",
                "operationId": "api.v1.storefront.wishlist.index",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/wishlist/toggle": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Toggle",
                "operationId": "api.v1.storefront.wishlist.toggle",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/storefront/{slug}/wishlist/{item}/move-to-cart": {
            "post": {
                "tags": [
                    "Storefront"
                ],
                "summary": "Create Move To Cart",
                "operationId": "api.v1.storefront.wishlist.move-to-cart",
                "x-module": "storefront",
                "security": [],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "item",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GenericResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/billings": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "List Billings",
                "operationId": "subscriptions.api.billings.index",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/billings/run": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Run a Billing",
                "operationId": "subscriptions.api.billings.run",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.bill",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/billings/{id}": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Get a Billing",
                "operationId": "subscriptions.api.billings.show",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/plans": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "List Plans",
                "operationId": "subscriptions.api.plans.index",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Create a Plan",
                "operationId": "subscriptions.api.plans.store",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/plans/{id}": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Get a Plan",
                "operationId": "subscriptions.api.plans.show",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Update a Plan",
                "operationId": "subscriptions.api.plans.update",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Delete a Plan",
                "operationId": "subscriptions.api.plans.destroy",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "List Subscriptions",
                "operationId": "subscriptions.api.subscriptions.index",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Create a Subscription",
                "operationId": "subscriptions.api.subscriptions.store",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Get a Subscription",
                "operationId": "subscriptions.api.subscriptions.show",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Update a Subscription",
                "operationId": "subscriptions.api.subscriptions.update",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/activate": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Activate a Subscription",
                "operationId": "subscriptions.api.subscriptions.activate",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/bill-now": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Bill Now a Subscription",
                "operationId": "subscriptions.api.subscriptions.bill-now",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.bill",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/cancel": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Cancel a Subscription",
                "operationId": "subscriptions.api.subscriptions.cancel",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/change-plan": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Change Plan a Subscription",
                "operationId": "subscriptions.api.subscriptions.change-plan",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/pause": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Pause a Subscription",
                "operationId": "subscriptions.api.subscriptions.pause",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscriptions/subscriptions/{id}/resume": {
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Resume a Subscription",
                "operationId": "subscriptions.api.subscriptions.resume",
                "x-module": "subscriptions",
                "x-required-permission": "subscriptions.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/responses/{id}": {
            "get": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Get a Response",
                "operationId": "surveys.api.responses.show",
                "x-module": "surveys",
                "x-required-permission": "surveys.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/surveys": {
            "get": {
                "tags": [
                    "Surveys"
                ],
                "summary": "List Surveys",
                "operationId": "surveys.api.surveys.index",
                "x-module": "surveys",
                "x-required-permission": "surveys.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Create a Survey",
                "operationId": "surveys.api.surveys.store",
                "x-module": "surveys",
                "x-required-permission": "surveys.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/surveys/{id}": {
            "get": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Get a Survey",
                "operationId": "surveys.api.surveys.show",
                "x-module": "surveys",
                "x-required-permission": "surveys.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Update a Survey",
                "operationId": "surveys.api.surveys.update",
                "x-module": "surveys",
                "x-required-permission": "surveys.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Delete a Survey",
                "operationId": "surveys.api.surveys.destroy",
                "x-module": "surveys",
                "x-required-permission": "surveys.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/surveys/{id}/close": {
            "post": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Close a Survey",
                "operationId": "surveys.api.surveys.close",
                "x-module": "surveys",
                "x-required-permission": "surveys.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/surveys/{id}/publish": {
            "post": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Publish a Survey",
                "operationId": "surveys.api.surveys.publish",
                "x-module": "surveys",
                "x-required-permission": "surveys.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/surveys/surveys/{id}/responses": {
            "get": {
                "tags": [
                    "Surveys"
                ],
                "summary": "List Surveys",
                "operationId": "surveys.api.surveys.responses.index",
                "x-module": "surveys",
                "x-required-permission": "surveys.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Surveys"
                ],
                "summary": "Create a Survey",
                "operationId": "surveys.api.surveys.responses.store",
                "x-module": "surveys",
                "x-required-permission": "surveys.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/lists": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "List Lists",
                "operationId": "tasks.api.lists.index",
                "x-module": "tasks",
                "x-required-permission": "tasks.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Create a List",
                "operationId": "tasks.api.lists.store",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/lists/{id}": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Get a List",
                "operationId": "tasks.api.lists.show",
                "x-module": "tasks",
                "x-required-permission": "tasks.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/lists/{list}": {
            "put": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Update a List",
                "operationId": "tasks.api.lists.update",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Delete a List",
                "operationId": "tasks.api.lists.destroy",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "list",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/tasks": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "List Tasks",
                "operationId": "tasks.api.tasks.index",
                "x-module": "tasks",
                "x-required-permission": "tasks.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Create a Task",
                "operationId": "tasks.api.tasks.store",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/tasks/{task}": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Get a Task",
                "operationId": "tasks.api.tasks.show",
                "x-module": "tasks",
                "x-required-permission": "tasks.view",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Update a Task",
                "operationId": "tasks.api.tasks.update",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Delete a Task",
                "operationId": "tasks.api.tasks.destroy",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/tasks/tasks/{task}/move": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Move a Task",
                "operationId": "tasks.api.tasks.move",
                "x-module": "tasks",
                "x-required-permission": "tasks.manage",
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/allocations": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "List Allocations",
                "operationId": "time_off.api.allocations.index",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Create a Allocation",
                "operationId": "time_off.api.allocations.store",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/allocations/{allocation}": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get a Allocation",
                "operationId": "time_off.api.allocations.show",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "allocation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Delete a Allocation",
                "operationId": "time_off.api.allocations.destroy",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "allocation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/approvals": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "List Approvals",
                "operationId": "time_off.api.approvals.index",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/approvals/{request}/approve": {
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Approve a Approval",
                "operationId": "time_off.api.approvals.approve",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/approvals/{request}/refuse": {
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Refuse a Approval",
                "operationId": "time_off.api.approvals.refuse",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/calendar": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get Calendar",
                "operationId": "time_off.api.calendar",
                "x-module": "time_off",
                "x-required-permission": "time_off.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/holidays": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "List Holidays",
                "operationId": "time_off.api.holidays.index",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Create a Holiday",
                "operationId": "time_off.api.holidays.store",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/holidays/{holiday}": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get a Holiday",
                "operationId": "time_off.api.holidays.show",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "holiday",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Update a Holiday",
                "operationId": "time_off.api.holidays.update",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "holiday",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Delete a Holiday",
                "operationId": "time_off.api.holidays.destroy",
                "x-module": "time_off",
                "x-required-permission": "time_off.manage",
                "parameters": [
                    {
                        "name": "holiday",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/requests": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "List Requests",
                "operationId": "time_off.api.requests.index",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Create a Request",
                "operationId": "time_off.api.requests.store",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/requests/{request}": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get a Request",
                "operationId": "time_off.api.requests.show",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/requests/{request}/cancel": {
            "post": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Cancel a Request",
                "operationId": "time_off.api.requests.cancel",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "request",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/types": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get Types",
                "operationId": "time_off.api.types",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/time-off/types/{type}": {
            "get": {
                "tags": [
                    "Time Off"
                ],
                "summary": "Get a Type",
                "operationId": "time_off.api.types.show",
                "x-module": "time_off",
                "x-required-permission": "time_off.self",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/approvals": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "List Approvals",
                "operationId": "timesheets.api.approvals.index",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.approve",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/approvals/approve": {
            "post": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Approve a Approval",
                "operationId": "timesheets.api.approvals.approve",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.approve",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/approvals/reject": {
            "post": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Reject a Approval",
                "operationId": "timesheets.api.approvals.reject",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.approve",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/projects": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Get Projects",
                "operationId": "timesheets.api.projects",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/report": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Get Report",
                "operationId": "timesheets.api.report",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.reports",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/week": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Get a Week",
                "operationId": "timesheets.api.week.show",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Update a Week",
                "operationId": "timesheets.api.week.update",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/timesheets/week/submit": {
            "post": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Submit a Week",
                "operationId": "timesheets.api.week.submit",
                "x-module": "timesheets",
                "x-required-permission": "timesheets.self",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/voip/calls": {
            "get": {
                "tags": [
                    "Voip"
                ],
                "summary": "List Calls",
                "operationId": "voip.api.calls.index",
                "x-module": "voip",
                "x-required-permission": "voip.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Voip"
                ],
                "summary": "Create a Call",
                "operationId": "voip.api.calls.store",
                "x-module": "voip",
                "x-required-permission": "voip.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/voip/calls/{id}": {
            "get": {
                "tags": [
                    "Voip"
                ],
                "summary": "Get a Call",
                "operationId": "voip.api.calls.show",
                "x-module": "voip",
                "x-required-permission": "voip.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/whatsapp/conversations": {
            "get": {
                "tags": [
                    "Whatsapp"
                ],
                "summary": "List Conversations",
                "operationId": "whatsapp.api.conversations.index",
                "x-module": "whatsapp",
                "x-required-permission": "whatsapp.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/whatsapp/conversations/{conversation}": {
            "get": {
                "tags": [
                    "Whatsapp"
                ],
                "summary": "Get a Conversation",
                "operationId": "whatsapp.api.conversations.show",
                "x-module": "whatsapp",
                "x-required-permission": "whatsapp.view",
                "parameters": [
                    {
                        "name": "conversation",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/whatsapp/messages": {
            "post": {
                "tags": [
                    "Whatsapp"
                ],
                "summary": "Create a Message",
                "operationId": "whatsapp.api.messages.store",
                "x-module": "whatsapp",
                "x-required-permission": "whatsapp.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Get Workplace",
                "operationId": "workplace.api.home",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/balances": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Balances",
                "operationId": "workplace.api.balances.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/balances/me": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Me a Balance",
                "operationId": "workplace.api.balances.me",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/balances/topup": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Topup a Balance",
                "operationId": "workplace.api.balances.topup",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/dietary/me": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Me a Dietary",
                "operationId": "workplace.api.dietary.me",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Update a Dietary",
                "operationId": "workplace.api.dietary.update",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Menus",
                "operationId": "workplace.api.menus.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Menu",
                "operationId": "workplace.api.menus.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus/{menu}": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Get a Menu",
                "operationId": "workplace.api.menus.show",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Update a Menu",
                "operationId": "workplace.api.menus.update",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus/{menu}/close": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Close a Menu",
                "operationId": "workplace.api.menus.close",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus/{menu}/items": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Menu",
                "operationId": "workplace.api.menus.items.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus/{menu}/items/{item}": {
            "put": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Update a Menu",
                "operationId": "workplace.api.menus.items.update",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "item",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Delete a Menu",
                "operationId": "workplace.api.menus.items.destroy",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "item",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success — no content."
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/menus/{menu}/publish": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Publish a Menu",
                "operationId": "workplace.api.menus.publish",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "menu",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/orders": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Orders",
                "operationId": "workplace.api.orders.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Order",
                "operationId": "workplace.api.orders.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/orders/{order}": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Get a Order",
                "operationId": "workplace.api.orders.show",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/orders/{order}/cancel": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Cancel a Order",
                "operationId": "workplace.api.orders.cancel",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/orders/{order}/serve": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Serve a Order",
                "operationId": "workplace.api.orders.serve",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/suppliers": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Suppliers",
                "operationId": "workplace.api.suppliers.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Supplier",
                "operationId": "workplace.api.suppliers.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/suppliers/{supplier}": {
            "put": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Update a Supplier",
                "operationId": "workplace.api.suppliers.update",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "supplier",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/suppliers/{supplier}/status": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Status a Supplier",
                "operationId": "workplace.api.suppliers.status",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "supplier",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visitors": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Visitors",
                "operationId": "workplace.api.visitors.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Visitor",
                "operationId": "workplace.api.visitors.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visitors/{visitor}": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Get a Visitor",
                "operationId": "workplace.api.visitors.show",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "visitor",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "List Visits",
                "operationId": "workplace.api.visits.index",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Create a Visit",
                "operationId": "workplace.api.visits.store",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits/{visit}": {
            "get": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Get a Visit",
                "operationId": "workplace.api.visits.show",
                "x-module": "workplace",
                "x-required-permission": "workplace.view",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits/{visit}/cancel": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Cancel a Visit",
                "operationId": "workplace.api.visits.cancel",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits/{visit}/check-in": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Check In a Visit",
                "operationId": "workplace.api.visits.check-in",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits/{visit}/check-out": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "Check Out a Visit",
                "operationId": "workplace.api.visits.check-out",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/workplace/visits/{visit}/no-show": {
            "post": {
                "tags": [
                    "Workplace"
                ],
                "summary": "No Show a Visit",
                "operationId": "workplace.api.visits.no-show",
                "x-module": "workplace",
                "x-required-permission": "workplace.manage",
                "parameters": [
                    {
                        "name": "visit",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/documents": {
            "get": {
                "tags": [
                    "Zatca"
                ],
                "summary": "List Documents",
                "operationId": "zatca.api.documents.index",
                "x-module": "zatca",
                "x-required-permission": "zatca.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Free-text search over the fields the module's index searches (name/number/email as applicable).",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/documents/{id}": {
            "get": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Get a Document",
                "operationId": "zatca.api.documents.show",
                "x-module": "zatca",
                "x-required-permission": "zatca.view",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/documents/{id}/retry": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Retry a Document",
                "operationId": "zatca.api.documents.retry",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/documents/{id}/validate": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Validate a Document",
                "operationId": "zatca.api.documents.validate",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Record not found in the current company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/onboarding/checks": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Checks a Onboarding",
                "operationId": "zatca.api.onboarding.checks",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/onboarding/compliance": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Compliance a Onboarding",
                "operationId": "zatca.api.onboarding.compliance",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/onboarding/csr": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Csr a Onboarding",
                "operationId": "zatca.api.onboarding.csr",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/onboarding/production": {
            "post": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Production a Onboarding",
                "operationId": "zatca.api.onboarding.production",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/zatca/settings": {
            "get": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Get a Setting",
                "operationId": "zatca.api.settings.show",
                "x-module": "zatca",
                "x-required-permission": "zatca.view",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Zatca"
                ],
                "summary": "Update a Setting",
                "operationId": "zatca.api.settings.update",
                "x-module": "zatca",
                "x-required-permission": "zatca.manage",
                "parameters": [
                    {
                        "name": "X-Company",
                        "in": "header",
                        "required": true,
                        "description": "UUID of the company to operate on. Required — resolve your companies via GET /api/v1/me.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GenericRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid token.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user lacks the required permission in this company, or the record belongs to another company.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "Sanctum personal access token",
                "description": "Personal access token sent as `Authorization: Bearer <token>`."
            }
        },
        "schemas": {
            "ItemResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "PaginatedResponse": {
                "type": "object",
                "required": [
                    "data",
                    "links",
                    "meta"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "links": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "meta": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                            "current_page": {
                                "type": "integer"
                            },
                            "last_page": {
                                "type": "integer"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            }
                        }
                    }
                }
            },
            "GenericResponse": {
                "type": "object",
                "additionalProperties": true,
                "description": "Platform endpoint payload; shape is endpoint-specific."
            },
            "GenericRequest": {
                "type": "object",
                "additionalProperties": true,
                "description": "Fields follow the module's validation rules; invalid input returns 422 with per-field errors."
            },
            "TokenRequest": {
                "type": "object",
                "required": [
                    "email",
                    "password",
                    "device_name"
                ],
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string",
                        "format": "password"
                    },
                    "device_name": {
                        "type": "string",
                        "description": "Free label identifying the client, e.g. \"Acme integration\"."
                    },
                    "code": {
                        "type": "string",
                        "description": "Two-factor code (TOTP or recovery code). Required when the user has 2FA confirmed."
                    }
                }
            },
            "TokenResponse": {
                "type": "object",
                "required": [
                    "token",
                    "token_type"
                ],
                "properties": {
                    "token": {
                        "type": "string"
                    },
                    "token_type": {
                        "type": "string",
                        "example": "Bearer"
                    }
                }
            },
            "Error": {
                "type": "object",
                "required": [
                    "message"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    }
                }
            },
            "ValidationError": {
                "type": "object",
                "required": [
                    "message",
                    "errors"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "two_factor": {
                        "type": "boolean",
                        "description": "Present on POST /auth/token when a 2FA code is required."
                    }
                }
            }
        }
    }
}
