{
    "openapi": "3.1.0",
    "info": {
        "title": "KMD Hub Public API",
        "version": "v1",
        "description": "The apikey-gated Developer Platform surface, the public product catalog, and the customer-token-gated self-service surface. Every response shares one envelope: {success, data, error, meta}."
    },
    "servers": [
        {
            "url": "https://hub.kwesimooredigital.com/api/v1",
            "description": "v1 (current)"
        }
    ],
    "components": {
        "securitySchemes": {
            "apiKey": {
                "type": "http",
                "scheme": "bearer",
                "description": "A Developer Platform API key, issued to an Application."
            },
            "customerToken": {
                "type": "http",
                "scheme": "bearer",
                "description": "A customer's personal API token (Sanctum), scoped to one or more of: `licenses.read`, `products.read`, `downloads.read`, `orders.read`, `billing.read`, `support.read`, `activity.read`. Issued from the customer portal at /account/tokens. Grants read-only access to that customer's own data only."
            }
        }
    },
    "paths": {
        "/products": {
            "get": {
                "operationId": "api.products.index",
                "tags": [
                    "Products"
                ],
                "parameters": [],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "slug": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/products/{product}": {
            "get": {
                "operationId": "api.products.show",
                "tags": [
                    "Products"
                ],
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "slug": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/products/{product}/releases": {
            "get": {
                "operationId": "api.products.releases.index",
                "tags": [
                    "Products"
                ],
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "version": {
                                                        "type": "string"
                                                    },
                                                    "channel": {
                                                        "type": "string"
                                                    },
                                                    "changelog": {
                                                        "type": "string"
                                                    },
                                                    "minimum_php_version": {
                                                        "type": "string"
                                                    },
                                                    "minimum_wp_version": {
                                                        "type": "string"
                                                    },
                                                    "published_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "checksum_sha256": {
                                                        "type": "string"
                                                    },
                                                    "filesize_bytes": {
                                                        "type": "integer"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/products/{product}/latest-release": {
            "get": {
                "operationId": "api.products.latest-release",
                "tags": [
                    "Products"
                ],
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "version": {
                                                    "type": "string"
                                                },
                                                "channel": {
                                                    "type": "string"
                                                },
                                                "changelog": {
                                                    "type": "string"
                                                },
                                                "minimum_php_version": {
                                                    "type": "string"
                                                },
                                                "minimum_wp_version": {
                                                    "type": "string"
                                                },
                                                "published_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "checksum_sha256": {
                                                    "type": "string"
                                                },
                                                "filesize_bytes": {
                                                    "type": "integer"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/products/{product}/download/{release}": {
            "get": {
                "operationId": "api.products.download",
                "tags": [
                    "Products"
                ],
                "parameters": [
                    {
                        "name": "product",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "release",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object"
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses": {
            "get": {
                "operationId": "api.licenses.index",
                "tags": [
                    "Licenses"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "licenses.read"
                        ]
                    }
                ],
                "description": "Requires the `licenses.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "license_key": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "max_activations": {
                                                        "type": "integer"
                                                    },
                                                    "activation_count": {
                                                        "type": "integer"
                                                    },
                                                    "expires_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "support_expires_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses/activate": {
            "post": {
                "operationId": "api.licenses.activate",
                "tags": [
                    "Licenses"
                ],
                "parameters": [],
                "description": "No API key required.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "license_key",
                                    "product",
                                    "domain",
                                    "site_url"
                                ],
                                "properties": {
                                    "license_key": {
                                        "type": "string"
                                    },
                                    "product": {
                                        "type": "string"
                                    },
                                    "domain": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "site_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "maxLength": 255
                                    },
                                    "wordpress_version": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 20
                                    },
                                    "php_version": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 20
                                    },
                                    "plugin_version": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 20
                                    },
                                    "site_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 255
                                    },
                                    "product_secret": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "domain": {
                                                    "type": "string"
                                                },
                                                "site_url": {
                                                    "type": "string"
                                                },
                                                "site_name": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "wordpress_version": {
                                                    "type": "string"
                                                },
                                                "php_version": {
                                                    "type": "string"
                                                },
                                                "plugin_version": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "activated_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "last_seen_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses/deactivate": {
            "post": {
                "operationId": "api.licenses.deactivate",
                "tags": [
                    "Licenses"
                ],
                "parameters": [],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "domain": {
                                                    "type": "string"
                                                },
                                                "deactivated": {
                                                    "type": "boolean"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses/validate": {
            "post": {
                "operationId": "api.licenses.validate",
                "tags": [
                    "Licenses"
                ],
                "parameters": [],
                "description": "No API key required.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "license_key",
                                    "product",
                                    "domain"
                                ],
                                "properties": {
                                    "license_key": {
                                        "type": "string"
                                    },
                                    "product": {
                                        "type": "string"
                                    },
                                    "domain": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "plugin_version": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 20
                                    },
                                    "product_secret": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "valid": {
                                                    "type": "boolean"
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "message": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "expires_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "support_expires_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "support_expired": {
                                                    "type": "boolean"
                                                },
                                                "activations_used": {
                                                    "type": "integer"
                                                },
                                                "activations_limit": {
                                                    "type": "integer"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses/{license}": {
            "get": {
                "operationId": "api.licenses.show",
                "tags": [
                    "Licenses"
                ],
                "parameters": [
                    {
                        "name": "license",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "license_key": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "max_activations": {
                                                    "type": "integer"
                                                },
                                                "activation_count": {
                                                    "type": "integer"
                                                },
                                                "expires_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "support_expires_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/licenses/{license}/activations": {
            "get": {
                "operationId": "api.licenses.activations",
                "tags": [
                    "Licenses"
                ],
                "parameters": [
                    {
                        "name": "license",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "description": "No API key required.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "domain": {
                                                        "type": "string"
                                                    },
                                                    "site_url": {
                                                        "type": "string"
                                                    },
                                                    "site_name": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "wordpress_version": {
                                                        "type": "string"
                                                    },
                                                    "php_version": {
                                                        "type": "string"
                                                    },
                                                    "plugin_version": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "activated_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "last_seen_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customers": {
            "get": {
                "operationId": "api.customers.index",
                "tags": [
                    "Customers"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "customers.read"
                        ]
                    }
                ],
                "description": "Requires the `customers.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "email": {
                                                        "type": "string"
                                                    },
                                                    "company": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "licenses_count": {
                                                        "type": "integer"
                                                    },
                                                    "orders_count": {
                                                        "type": "integer"
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customers/{customer}": {
            "get": {
                "operationId": "api.customers.show",
                "tags": [
                    "Customers"
                ],
                "parameters": [
                    {
                        "name": "customer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "customers.read"
                        ]
                    }
                ],
                "description": "Requires the `customers.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "company": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "licenses_count": {
                                                    "type": "integer"
                                                },
                                                "orders_count": {
                                                    "type": "integer"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customers/{customer}/notifications": {
            "get": {
                "operationId": "api.customers.notifications.index",
                "tags": [
                    "Customers"
                ],
                "parameters": [
                    {
                        "name": "customer",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "notifications.read"
                        ]
                    }
                ],
                "description": "Requires the `notifications.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    },
                                                    "data": {
                                                        "type": "object",
                                                        "properties": {
                                                            "license_key": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "read_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders": {
            "get": {
                "operationId": "api.orders.index",
                "tags": [
                    "Orders"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "orders.read"
                        ]
                    }
                ],
                "description": "Requires the `orders.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "order_number": {
                                                        "type": "string"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "price_name": {
                                                        "type": "string"
                                                    },
                                                    "quantity": {
                                                        "type": "integer"
                                                    },
                                                    "currency": {
                                                        "type": "string"
                                                    },
                                                    "subtotal": {
                                                        "type": "integer"
                                                    },
                                                    "discount": {
                                                        "type": "integer"
                                                    },
                                                    "tax": {
                                                        "type": "integer"
                                                    },
                                                    "total": {
                                                        "type": "integer"
                                                    },
                                                    "payment_provider": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "invoice_number": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "paid_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{order}": {
            "get": {
                "operationId": "api.orders.show",
                "tags": [
                    "Orders"
                ],
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "orders.read"
                        ]
                    }
                ],
                "description": "Requires the `orders.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "order_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "price_name": {
                                                    "type": "string"
                                                },
                                                "quantity": {
                                                    "type": "integer"
                                                },
                                                "currency": {
                                                    "type": "string"
                                                },
                                                "subtotal": {
                                                    "type": "integer"
                                                },
                                                "discount": {
                                                    "type": "integer"
                                                },
                                                "tax": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "payment_provider": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "invoice_number": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "paid_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/invoices": {
            "get": {
                "operationId": "api.invoices.index",
                "tags": [
                    "Invoices"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "billing.read"
                        ]
                    }
                ],
                "description": "Requires the `billing.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "invoice_number": {
                                                        "type": "string"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "product_name": {
                                                        "type": "string"
                                                    },
                                                    "product_version": {
                                                        "type": "string"
                                                    },
                                                    "license_key": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "payment_provider": {
                                                        "type": "string"
                                                    },
                                                    "currency": {
                                                        "type": "string"
                                                    },
                                                    "subtotal": {
                                                        "type": "integer"
                                                    },
                                                    "discount": {
                                                        "type": "integer"
                                                    },
                                                    "tax": {
                                                        "type": "integer"
                                                    },
                                                    "total": {
                                                        "type": "integer"
                                                    },
                                                    "issued_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/invoices/{invoice}": {
            "get": {
                "operationId": "api.invoices.show",
                "tags": [
                    "Invoices"
                ],
                "parameters": [
                    {
                        "name": "invoice",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "billing.read"
                        ]
                    }
                ],
                "description": "Requires the `billing.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "invoice_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "product_name": {
                                                    "type": "string"
                                                },
                                                "product_version": {
                                                    "type": "string"
                                                },
                                                "license_key": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "payment_provider": {
                                                    "type": "string"
                                                },
                                                "currency": {
                                                    "type": "string"
                                                },
                                                "subtotal": {
                                                    "type": "integer"
                                                },
                                                "discount": {
                                                    "type": "integer"
                                                },
                                                "tax": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "issued_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/subscriptions": {
            "get": {
                "operationId": "api.subscriptions.index",
                "tags": [
                    "Subscriptions"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "billing.read"
                        ]
                    }
                ],
                "description": "Requires the `billing.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "price_name": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "renews_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "ends_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "cancelled_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "trial_ends_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/subscriptions/{subscription}": {
            "get": {
                "operationId": "api.subscriptions.show",
                "tags": [
                    "Subscriptions"
                ],
                "parameters": [
                    {
                        "name": "subscription",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "billing.read"
                        ]
                    }
                ],
                "description": "Requires the `billing.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "price_name": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "renews_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "cancelled_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "trial_ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/downloads": {
            "get": {
                "operationId": "api.downloads.index",
                "tags": [
                    "Downloads"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "downloads.read"
                        ]
                    }
                ],
                "description": "Requires the `downloads.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "version": {
                                                        "type": "string"
                                                    },
                                                    "downloaded_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/downloads/{download}": {
            "get": {
                "operationId": "api.downloads.show",
                "tags": [
                    "Downloads"
                ],
                "parameters": [
                    {
                        "name": "download",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "downloads.read"
                        ]
                    }
                ],
                "description": "Requires the `downloads.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "version": {
                                                    "type": "string"
                                                },
                                                "downloaded_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/support/tickets": {
            "get": {
                "operationId": "api.support.tickets.index",
                "tags": [
                    "Support"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "support.read"
                        ]
                    }
                ],
                "description": "Requires the `support.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "ticket_number": {
                                                        "type": "string"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "subject": {
                                                        "type": "string"
                                                    },
                                                    "category": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "priority": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assigned_agent": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "messages": {
                                                        "type": "string"
                                                    },
                                                    "first_responded_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resolved_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "closed_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "last_reply_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/support/tickets/{ticket}": {
            "get": {
                "operationId": "api.support.tickets.show",
                "tags": [
                    "Support"
                ],
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [
                            "support.read"
                        ]
                    }
                ],
                "description": "Requires the `support.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "ticket_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "subject": {
                                                    "type": "string"
                                                },
                                                "category": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "priority": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "assigned_agent": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "messages": {
                                                    "type": "string"
                                                },
                                                "first_responded_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "resolved_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "closed_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "last_reply_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/activity-logs": {
            "get": {
                "operationId": "api.activity-logs.index",
                "tags": [
                    "Activity Logs"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "activity.read"
                        ]
                    }
                ],
                "description": "Requires the `activity.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "action": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "properties": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "subject": {
                                                        "type": "object",
                                                        "properties": {
                                                            "type": {
                                                                "type": "string"
                                                            },
                                                            "id": {
                                                                "type": "integer"
                                                            }
                                                        }
                                                    },
                                                    "causer": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/settings": {
            "get": {
                "operationId": "api.settings.index",
                "tags": [
                    "Settings"
                ],
                "parameters": [],
                "security": [
                    {
                        "apiKey": [
                            "settings.read"
                        ]
                    }
                ],
                "description": "Requires the `settings.read` API key scope.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "key": {
                                                        "type": "string"
                                                    },
                                                    "value": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    },
                                                    "group": {
                                                        "type": "string"
                                                    },
                                                    "updated_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer": {
            "get": {
                "operationId": "api.customer.show",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "company": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "avatar_url": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "country": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "timezone": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "preferred_language": {
                                                    "type": "string"
                                                },
                                                "email_verified": {
                                                    "type": "boolean"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/licenses": {
            "get": {
                "operationId": "api.customer.licenses",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": [
                            "licenses.read"
                        ]
                    }
                ],
                "description": "Requires a customer token with the `licenses.read` ability.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "license_key": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "max_activations": {
                                                        "type": "integer"
                                                    },
                                                    "activation_count": {
                                                        "type": "integer"
                                                    },
                                                    "expires_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "support_expires_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/products": {
            "get": {
                "operationId": "api.customer.products",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": [
                            "products.read"
                        ]
                    }
                ],
                "description": "Requires a customer token with the `products.read` ability.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "slug": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/downloads": {
            "get": {
                "operationId": "api.customer.downloads",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": [
                            "downloads.read"
                        ]
                    }
                ],
                "description": "Requires a customer token with the `downloads.read` ability.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "version": {
                                                        "type": "string"
                                                    },
                                                    "downloaded_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/activity": {
            "get": {
                "operationId": "api.customer.activity",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": [
                            "activity.read"
                        ]
                    }
                ],
                "description": "Requires a customer token with the `activity.read` ability.",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "action": {
                                                        "type": "string"
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/purchases": {
            "get": {
                "operationId": "api.customer.billing.purchases",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "product_name": {
                                                        "type": "string"
                                                    },
                                                    "latest_order_number": {
                                                        "type": "string"
                                                    },
                                                    "latest_order_total": {
                                                        "type": "integer"
                                                    },
                                                    "currency": {
                                                        "type": "string"
                                                    },
                                                    "purchased_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "license_key": {
                                                        "type": "string"
                                                    },
                                                    "license_status": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/orders": {
            "get": {
                "operationId": "api.customer.billing.orders.index",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "order_number": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "price_name": {
                                                        "type": "string"
                                                    },
                                                    "quantity": {
                                                        "type": "integer"
                                                    },
                                                    "currency": {
                                                        "type": "string"
                                                    },
                                                    "subtotal": {
                                                        "type": "integer"
                                                    },
                                                    "discount": {
                                                        "type": "integer"
                                                    },
                                                    "tax": {
                                                        "type": "integer"
                                                    },
                                                    "total": {
                                                        "type": "integer"
                                                    },
                                                    "payment_provider": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "invoice_number": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "paid_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/orders/{order}": {
            "get": {
                "operationId": "api.customer.billing.orders.show",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [
                    {
                        "name": "order",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "order_number": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "price_name": {
                                                    "type": "string"
                                                },
                                                "quantity": {
                                                    "type": "integer"
                                                },
                                                "currency": {
                                                    "type": "string"
                                                },
                                                "subtotal": {
                                                    "type": "integer"
                                                },
                                                "discount": {
                                                    "type": "integer"
                                                },
                                                "tax": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "payment_provider": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "invoice_number": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "paid_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/invoices": {
            "get": {
                "operationId": "api.customer.billing.invoices.index",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "invoice_number": {
                                                        "type": "string"
                                                    },
                                                    "product_name": {
                                                        "type": "string"
                                                    },
                                                    "product_version": {
                                                        "type": "string"
                                                    },
                                                    "license_key": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "payment_provider": {
                                                        "type": "string"
                                                    },
                                                    "currency": {
                                                        "type": "string"
                                                    },
                                                    "subtotal": {
                                                        "type": "integer"
                                                    },
                                                    "discount": {
                                                        "type": "integer"
                                                    },
                                                    "tax": {
                                                        "type": "integer"
                                                    },
                                                    "total": {
                                                        "type": "integer"
                                                    },
                                                    "issued_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/invoices/{invoice}": {
            "get": {
                "operationId": "api.customer.billing.invoices.show",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [
                    {
                        "name": "invoice",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "invoice_number": {
                                                    "type": "string"
                                                },
                                                "product_name": {
                                                    "type": "string"
                                                },
                                                "product_version": {
                                                    "type": "string"
                                                },
                                                "license_key": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "payment_provider": {
                                                    "type": "string"
                                                },
                                                "currency": {
                                                    "type": "string"
                                                },
                                                "subtotal": {
                                                    "type": "integer"
                                                },
                                                "discount": {
                                                    "type": "integer"
                                                },
                                                "tax": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                },
                                                "issued_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/subscriptions": {
            "get": {
                "operationId": "api.customer.billing.subscriptions.index",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "product": {
                                                        "type": "string"
                                                    },
                                                    "price_name": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "renews_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "ends_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "cancelled_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "trial_ends_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/subscriptions/{subscription}": {
            "get": {
                "operationId": "api.customer.billing.subscriptions.show",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [
                    {
                        "name": "subscription",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "price_name": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "renews_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "cancelled_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "trial_ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/subscriptions/{subscription}/cancel": {
            "post": {
                "operationId": "api.customer.billing.subscriptions.cancel",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [
                    {
                        "name": "subscription",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "product": {
                                                    "type": "string"
                                                },
                                                "price_name": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "renews_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "cancelled_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "trial_ends_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/checkout/{price}": {
            "post": {
                "operationId": "api.customer.billing.checkout",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [
                    {
                        "name": "price",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "payment_provider"
                                ],
                                "properties": {
                                    "payment_provider": {
                                        "type": "string",
                                        "enum": [
                                            "lemon_squeezy",
                                            "paystack"
                                        ]
                                    },
                                    "coupon_code": {
                                        "type": "string",
                                        "nullable": true,
                                        "maxLength": 64
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "redirect_url": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/billing/payment-verification": {
            "post": {
                "operationId": "api.customer.billing.payment-verification",
                "tags": [
                    "Customer Billing"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "reference"
                                ],
                                "properties": {
                                    "reference": {
                                        "type": "string",
                                        "maxLength": 255
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "successful": {
                                                    "type": "boolean"
                                                },
                                                "order": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "order_number": {
                                                            "type": "string"
                                                        },
                                                        "product": {
                                                            "type": "string"
                                                        },
                                                        "price_name": {
                                                            "type": "string"
                                                        },
                                                        "quantity": {
                                                            "type": "integer"
                                                        },
                                                        "currency": {
                                                            "type": "string"
                                                        },
                                                        "subtotal": {
                                                            "type": "integer"
                                                        },
                                                        "discount": {
                                                            "type": "integer"
                                                        },
                                                        "tax": {
                                                            "type": "integer"
                                                        },
                                                        "total": {
                                                            "type": "integer"
                                                        },
                                                        "payment_provider": {
                                                            "type": "string"
                                                        },
                                                        "status": {
                                                            "type": "string"
                                                        },
                                                        "invoice_number": {
                                                            "type": "string",
                                                            "nullable": true
                                                        },
                                                        "paid_at": {
                                                            "type": "string",
                                                            "format": "date-time"
                                                        },
                                                        "created_at": {
                                                            "type": "string",
                                                            "format": "date-time"
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/search": {
            "get": {
                "operationId": "api.customer.support.search",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "ticket_number": {
                                                        "type": "string"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "subject": {
                                                        "type": "string"
                                                    },
                                                    "category": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "priority": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assigned_agent": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "messages": {
                                                        "type": "string"
                                                    },
                                                    "first_responded_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resolved_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "closed_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "last_reply_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/tickets": {
            "get": {
                "operationId": "api.customer.support.tickets.index",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "string",
                                                        "format": "uuid"
                                                    },
                                                    "ticket_number": {
                                                        "type": "string"
                                                    },
                                                    "customer": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "string",
                                                                "format": "uuid"
                                                            },
                                                            "name": {
                                                                "type": "string"
                                                            },
                                                            "email": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "subject": {
                                                        "type": "string"
                                                    },
                                                    "category": {
                                                        "type": "string"
                                                    },
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "priority": {
                                                        "type": "string"
                                                    },
                                                    "product": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "assigned_agent": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "messages": {
                                                        "type": "string"
                                                    },
                                                    "first_responded_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "resolved_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "closed_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "last_reply_at": {
                                                        "type": "string",
                                                        "nullable": true
                                                    },
                                                    "created_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    }
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "api.customer.support.tickets.store",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "subject",
                                    "category",
                                    "body"
                                ],
                                "properties": {
                                    "subject": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "category": {
                                        "type": "string"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "nullable": true,
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high"
                                        ]
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "license_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "body": {
                                        "type": "string"
                                    },
                                    "attachments": {
                                        "type": "array",
                                        "nullable": true,
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "ticket_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "subject": {
                                                    "type": "string"
                                                },
                                                "category": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "priority": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "assigned_agent": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "messages": {
                                                    "type": "string"
                                                },
                                                "first_responded_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "resolved_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "closed_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "last_reply_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/tickets/{ticket}": {
            "get": {
                "operationId": "api.customer.support.tickets.show",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "ticket_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "subject": {
                                                    "type": "string"
                                                },
                                                "category": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "priority": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "assigned_agent": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "messages": {
                                                    "type": "string"
                                                },
                                                "first_responded_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "resolved_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "closed_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "last_reply_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/tickets/{ticket}/reply": {
            "post": {
                "operationId": "api.customer.support.tickets.reply",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "body"
                                ],
                                "properties": {
                                    "body": {
                                        "type": "string"
                                    },
                                    "attachments": {
                                        "type": "array",
                                        "nullable": true
                                    },
                                    "attachments.*": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "author_role": {
                                                    "type": "string"
                                                },
                                                "author_name": {
                                                    "type": "string"
                                                },
                                                "body": {
                                                    "type": "string"
                                                },
                                                "is_edited": {
                                                    "type": "boolean"
                                                },
                                                "attachments": {
                                                    "type": "string"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/tickets/{ticket}/close": {
            "post": {
                "operationId": "api.customer.support.tickets.close",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "ticket_number": {
                                                    "type": "string"
                                                },
                                                "customer": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "format": "uuid"
                                                        },
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "email": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "subject": {
                                                    "type": "string"
                                                },
                                                "category": {
                                                    "type": "string"
                                                },
                                                "status": {
                                                    "type": "string"
                                                },
                                                "priority": {
                                                    "type": "string"
                                                },
                                                "product": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "assigned_agent": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "messages": {
                                                    "type": "string"
                                                },
                                                "first_responded_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "resolved_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "closed_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "last_reply_at": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/customer/support/tickets/{ticket}/attachments": {
            "post": {
                "operationId": "api.customer.support.tickets.attachments.store",
                "tags": [
                    "Customer Support"
                ],
                "parameters": [
                    {
                        "name": "ticket",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "customerToken": []
                    }
                ],
                "description": "Requires any valid customer token (no specific ability enforced).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "ticket_message_uuid",
                                    "file"
                                ],
                                "properties": {
                                    "ticket_message_uuid": {
                                        "type": "string",
                                        "description": "The UUID of the ticket message this attachment belongs to."
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "format": "uuid"
                                                },
                                                "filename": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "error": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        },
                                        "meta": {
                                            "type": [
                                                "object",
                                                "null"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}