{
    "openapi": "3.1.0",
    "info": {
        "title": "StaticX API",
        "summary": "LLM-readable contract for StaticX site, workspace, deployment, file, domain, environment, and log operations.",
        "description": "StaticX is an API-token-first deployment layer for static websites. Use this OpenAPI document with scoped API tokens, CI jobs, CLI tools, and AI agents.",
        "version": "1.0.0",
        "contact": {
            "name": "StaticX",
            "url": "https://staticx.site/support"
        }
    },
    "servers": [
        {
            "url": "https://staticx.site/api/v1",
            "description": "StaticX API v1"
        }
    ],
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Account",
            "description": "Authenticated user and token context."
        },
        {
            "name": "Workspaces",
            "description": "Workspace listing, creation, detail, and deletion."
        },
        {
            "name": "Projects",
            "description": "Static site project operations."
        },
        {
            "name": "Domains",
            "description": "Generated and custom domain status."
        },
        {
            "name": "Files",
            "description": "Project workspace file browsing and uploads."
        },
        {
            "name": "Builds",
            "description": "Compatibility build-check records."
        },
        {
            "name": "Deployments",
            "description": "Deployment publishing, optional release history, rollback, and deletion."
        },
        {
            "name": "Environment",
            "description": "Project environment variables."
        },
        {
            "name": "Logs",
            "description": "Project activity logs."
        },
        {
            "name": "Indexing",
            "description": "SpeedyIndex search-engine submission, checking, balance, and page inventory."
        }
    ],
    "paths": {
        "/user": {
            "get": {
                "operationId": "getAuthenticatedUser",
                "summary": "Read authenticated user and current token context.",
                "tags": [
                    "Account"
                ],
                "responses": {
                    "200": {
                        "description": "Authenticated user.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                }
            }
        },
        "/domains": {
            "get": {
                "operationId": "listDomains",
                "summary": "List visible custom domains and generated StaticX addresses.",
                "tags": [
                    "Domains"
                ],
                "responses": {
                    "200": {
                        "description": "Visible domains.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DomainCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                }
            }
        },
        "/workspaces": {
            "get": {
                "operationId": "listWorkspaces",
                "summary": "List workspaces visible to the token.",
                "tags": [
                    "Workspaces"
                ],
                "responses": {
                    "200": {
                        "description": "Visible workspaces.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WorkspaceCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                }
            },
            "post": {
                "operationId": "createWorkspace",
                "summary": "Create a workspace.",
                "tags": [
                    "Workspaces"
                ],
                "responses": {
                    "201": {
                        "description": "Workspace created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WorkspaceResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateWorkspaceRequest"
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}": {
            "get": {
                "operationId": "getWorkspace",
                "summary": "Read one workspace with members and project count.",
                "tags": [
                    "Workspaces"
                ],
                "responses": {
                    "200": {
                        "description": "Workspace detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WorkspaceResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "Workspace ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "delete": {
                "operationId": "deleteWorkspace",
                "summary": "Delete a workspace and either move or delete its sites.",
                "tags": [
                    "Workspaces"
                ],
                "responses": {
                    "200": {
                        "description": "Workspace deletion result.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WorkspaceDeletionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "Workspace ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeleteWorkspaceRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects": {
            "get": {
                "operationId": "listProjects",
                "summary": "List sites visible to the token.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Visible projects.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "workspace_id",
                        "in": "query",
                        "required": false,
                        "description": "Filter to one workspace ID.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ]
            },
            "post": {
                "operationId": "createProject",
                "summary": "Create a site from metadata, a ZIP archive, or a source URL.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "201": {
                        "description": "Project created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateProjectRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}": {
            "get": {
                "operationId": "getProject",
                "summary": "Read one site.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Project detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "patch": {
                "operationId": "updateProject",
                "summary": "Update site metadata.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Project updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProjectRequest"
                            }
                        }
                    }
                }
            },
            "put": {
                "operationId": "replaceProject",
                "summary": "Update site metadata with a full update request.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Project updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProjectRequest"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteProject",
                "summary": "Delete a site.",
                "tags": [
                    "Projects"
                ],
                "responses": {
                    "204": {
                        "description": "Project deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/domain": {
            "get": {
                "operationId": "getProjectDomainStatus",
                "summary": "Read custom domain setup, DNS instructions, and activation status.",
                "tags": [
                    "Domains",
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Project domain status.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectDomainResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "post": {
                "operationId": "connectProjectDomain",
                "summary": "Start manual custom domain setup and return the single DNS record to create.",
                "tags": [
                    "Domains",
                    "Projects"
                ],
                "responses": {
                    "202": {
                        "description": "Custom domain setup started.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectDomainResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ConnectDomainRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/domain/cloudflare-dns": {
            "post": {
                "operationId": "provisionProjectManagedDns",
                "summary": "Provision (or reconcile) the managed CNAME for an already-connected custom domain, without changing the host.",
                "tags": [
                    "Domains",
                    "Projects"
                ],
                "responses": {
                    "200": {
                        "description": "Managed DNS provisioned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectDomainResponse"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "No usable managed-DNS connection, or a provider conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "No custom domain to configure, or a DNS record conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/files": {
            "get": {
                "operationId": "listProjectFiles",
                "summary": "List files and folders in a project workspace.",
                "tags": [
                    "Files"
                ],
                "responses": {
                    "200": {
                        "description": "Project file listing.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectFilesResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "path",
                        "in": "query",
                        "required": false,
                        "description": "Workspace path to browse.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "post": {
                "operationId": "uploadProjectFiles",
                "summary": "Upload files, queue a ZIP archive import, or queue a URL import.",
                "tags": [
                    "Files"
                ],
                "responses": {
                    "201": {
                        "description": "Files uploaded.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FileUploadResponse"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "ZIP or URL import queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FileUploadResponse"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Overwrite confirmation required.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/OverwriteConfirmationResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UploadFilesRequest"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "deleteProjectFiles",
                "summary": "Delete one or more project workspace files or folders.",
                "tags": [
                    "Files"
                ],
                "responses": {
                    "200": {
                        "description": "Files deleted.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FileDeletionResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Deletion failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeleteFilesRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/imports/status": {
            "get": {
                "operationId": "getProjectImportStatus",
                "summary": "Read the latest ZIP or URL import status for a project.",
                "tags": [
                    "Files"
                ],
                "responses": {
                    "200": {
                        "description": "Project import status.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ImportStatusResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/builds": {
            "post": {
                "operationId": "createBuild",
                "summary": "Run a compatibility build check.",
                "tags": [
                    "Builds"
                ],
                "responses": {
                    "201": {
                        "description": "Build check created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Build validation failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/builds/{build}": {
            "get": {
                "operationId": "getBuild",
                "summary": "Read one compatibility build check.",
                "tags": [
                    "Builds"
                ],
                "responses": {
                    "200": {
                        "description": "Build check detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "build",
                        "in": "path",
                        "required": true,
                        "description": "Build record ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/deployments": {
            "get": {
                "operationId": "listDeployments",
                "summary": "List immutable deployment versions for a site.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "200": {
                        "description": "Deployment versions.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include_internal",
                        "in": "query",
                        "required": false,
                        "description": "Include internal debugging fields when allowed.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ]
            },
            "post": {
                "operationId": "createDeployment",
                "summary": "Publish the current project workspace as an immutable deployment version. Asynchronous: responds immediately with the deployment in `running` status; poll GET /projects/{project}/deployments/{deployment} until `status` is `succeeded` or `failed`.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "201": {
                        "description": "Deployment accepted and running. Poll the deployment until it succeeds or fails.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Deployment failed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateDeploymentRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/deployments/delete-selected": {
            "delete": {
                "operationId": "deleteSelectedDeployments",
                "summary": "Delete multiple inactive deployment versions.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "200": {
                        "description": "Bulk deletion result.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BulkDeploymentDeletionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BulkDeleteDeploymentsRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/deployments/{deployment}": {
            "get": {
                "operationId": "getDeployment",
                "summary": "Read one deployment version.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "200": {
                        "description": "Deployment detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deployment",
                        "in": "path",
                        "required": true,
                        "description": "Deployment record ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "delete": {
                "operationId": "deleteDeployment",
                "summary": "Delete one inactive deployment version.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "204": {
                        "description": "Deployment deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deployment",
                        "in": "path",
                        "required": true,
                        "description": "Deployment record ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/deployments/{deployment}/rollback": {
            "post": {
                "operationId": "rollbackDeployment",
                "summary": "Make a previous successful deployment live.",
                "tags": [
                    "Deployments"
                ],
                "responses": {
                    "200": {
                        "description": "Rollback completed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deployment",
                        "in": "path",
                        "required": true,
                        "description": "Deployment record ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/environment-variables": {
            "get": {
                "operationId": "listEnvironmentVariables",
                "summary": "List project environment variables.",
                "tags": [
                    "Environment"
                ],
                "responses": {
                    "200": {
                        "description": "Environment variables.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariableCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "post": {
                "operationId": "createEnvironmentVariable",
                "summary": "Create or update one environment variable.",
                "tags": [
                    "Environment"
                ],
                "responses": {
                    "200": {
                        "description": "Environment variable updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariableResponse"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Environment variable created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariableResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EnvironmentVariableRequest"
                            }
                        }
                    }
                }
            },
            "put": {
                "operationId": "syncEnvironmentVariables",
                "summary": "Replace/sync project environment variables.",
                "tags": [
                    "Environment"
                ],
                "responses": {
                    "200": {
                        "description": "Environment variables synced.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariableCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SyncEnvironmentVariablesRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/environment-variables/{environmentVariable}": {
            "delete": {
                "operationId": "deleteEnvironmentVariable",
                "summary": "Delete one environment variable.",
                "tags": [
                    "Environment"
                ],
                "responses": {
                    "204": {
                        "description": "Environment variable deleted."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environmentVariable",
                        "in": "path",
                        "required": true,
                        "description": "Environment variable ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/logs": {
            "get": {
                "operationId": "listProjectLogs",
                "summary": "Read recent project activity logs.",
                "tags": [
                    "Logs"
                ],
                "responses": {
                    "200": {
                        "description": "Project activity logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ActivityLogCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Number of log entries to return, from 1 to 100.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 25
                        }
                    }
                ]
            }
        },
        "/indexing/balance": {
            "get": {
                "operationId": "getIndexingBalance",
                "summary": "Read the SpeedyIndex balance for the token user (the account owner).",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "SpeedyIndex balance.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingBalanceResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No SpeedyIndex key connected (error_code=no_key).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "402": {
                        "description": "SpeedyIndex balance insufficient (error_code=insufficient_balance).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Engine/type unsupported or request rejected (error_code=engine_unsupported).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "SpeedyIndex rate limit reached (error_code=rate_limited).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "SpeedyIndex upstream error (error_code=server).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/indexing/pages": {
            "get": {
                "operationId": "listIndexingPages",
                "summary": "List account-wide page inventory for the selected engine across every site the token can access.",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "Page inventory.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingPagesResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "engine",
                        "in": "query",
                        "required": false,
                        "description": "Search engine: google, yandex, or bing. Defaults to google.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "google",
                                "yandex",
                                "bing"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "Filter by inventory status, requested, not_requested, or all. Defaults to unchecked.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "all",
                                "unchecked",
                                "indexed",
                                "not_indexed",
                                "pending",
                                "error",
                                "requested",
                                "not_requested"
                            ]
                        }
                    },
                    {
                        "name": "site",
                        "in": "query",
                        "required": false,
                        "description": "Narrow to one accessible site ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "workspace",
                        "in": "query",
                        "required": false,
                        "description": "Narrow to one accessible workspace ID.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    }
                ]
            }
        },
        "/projects/{project}/indexing/submit": {
            "post": {
                "operationId": "submitIndexing",
                "summary": "Submit site URLs to SpeedyIndex (indexer by default; sitemap-diff when urls is omitted).",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "Submission summary.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingSubmitResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No SpeedyIndex key connected (error_code=no_key).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "402": {
                        "description": "SpeedyIndex balance insufficient (error_code=insufficient_balance).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Engine/type unsupported or request rejected (error_code=engine_unsupported).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "SpeedyIndex rate limit reached (error_code=rate_limited).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "SpeedyIndex upstream error (error_code=server).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IndexingSubmitRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/indexing/check": {
            "post": {
                "operationId": "checkIndexing",
                "summary": "Create a SpeedyIndex checker task for the given urls, or the site inventory when omitted.",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "Check summary.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingCheckResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No SpeedyIndex key connected (error_code=no_key).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "402": {
                        "description": "SpeedyIndex balance insufficient (error_code=insufficient_balance).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Engine/type unsupported or request rejected (error_code=engine_unsupported).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "SpeedyIndex rate limit reached (error_code=rate_limited).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "SpeedyIndex upstream error (error_code=server).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IndexingCheckRequest"
                            }
                        }
                    }
                }
            }
        },
        "/projects/{project}/indexing/tasks": {
            "get": {
                "operationId": "listIndexingTasks",
                "summary": "List a site indexing and checker tasks, most recent first.",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "Indexing tasks.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingTaskCollectionResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/projects/{project}/indexing/tasks/{task}": {
            "get": {
                "operationId": "getIndexingTask",
                "summary": "Read one indexing task with its lazily fetched per-URL report.",
                "tags": [
                    "Indexing"
                ],
                "responses": {
                    "200": {
                        "description": "Indexing task detail.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IndexingTaskDetailResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No SpeedyIndex key connected (error_code=no_key).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "402": {
                        "description": "SpeedyIndex balance insufficient (error_code=insufficient_balance).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Engine/type unsupported or request rejected (error_code=engine_unsupported).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "SpeedyIndex rate limit reached (error_code=rate_limited).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "SpeedyIndex upstream error (error_code=server).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                },
                "parameters": [
                    {
                        "name": "project",
                        "in": "path",
                        "required": true,
                        "description": "Project ID or accepted project identifier.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "description": "Indexing task ID.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "StaticX scoped API token",
                "description": "Create a scoped API token in StaticX settings and send it as `Authorization: Bearer <token>`."
            }
        },
        "responses": {
            "Unauthorized": {
                "description": "Missing or invalid API token.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ErrorResponse"
                        }
                    }
                }
            },
            "Forbidden": {
                "description": "Token lacks the required ability or resource scope.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ErrorResponse"
                        }
                    }
                }
            },
            "NotFound": {
                "description": "Resource not found or outside token scope.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ErrorResponse"
                        }
                    }
                }
            },
            "ValidationError": {
                "description": "Request validation failed.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ValidationErrorResponse"
                        }
                    }
                }
            }
        },
        "schemas": {
            "ErrorResponse": {
                "type": "object",
                "required": [
                    "message"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "error_code": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": true
            },
            "ValidationErrorResponse": {
                "type": "object",
                "required": [
                    "message",
                    "errors"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "UserResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "$ref": "#/components/schemas/User"
                    }
                }
            },
            "User": {
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "email"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "token": {
                        "$ref": "#/components/schemas/TokenContext"
                    },
                    "current_token": {
                        "$ref": "#/components/schemas/TokenContext"
                    }
                }
            },
            "TokenContext": {
                "type": [
                    "object",
                    "null"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "kind": {
                        "type": "string"
                    },
                    "preset": {
                        "type": "string"
                    },
                    "preset_label": {
                        "type": "string"
                    },
                    "scope_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "scope_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "scope_label": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "abilities": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "expires_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "WorkspaceCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Workspace"
                        }
                    }
                },
                "additionalProperties": false
            },
            "WorkspaceResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "$ref": "#/components/schemas/Workspace"
                    }
                },
                "additionalProperties": false
            },
            "WorkspaceDeletionResponse": {
                "type": "object",
                "required": [
                    "message",
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Deletion result payload returned by DeleteWorkspace (e.g. deleted/reassigned counts)."
                    }
                },
                "additionalProperties": false
            },
            "Workspace": {
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "slug"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "role": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "projects_count": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/WorkspaceMember"
                        }
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "WorkspaceMember": {
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "email",
                    "role"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "role": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "ProjectCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Project"
                        }
                    }
                },
                "additionalProperties": false
            },
            "ProjectResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "$ref": "#/components/schemas/Project"
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "Project": {
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "host",
                    "public_url",
                    "status",
                    "versioning_enabled",
                    "deployment_mode"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "host": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "public_url": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "pending"
                        ]
                    },
                    "versioning_enabled": {
                        "type": "boolean"
                    },
                    "analytics_enabled": {
                        "type": "boolean"
                    },
                    "ga_measurement_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "GA4 Measurement ID (e.g. G-XXXXXXXXXX). null disables gtag.js injection."
                    },
                    "deployment_mode": {
                        "type": "string",
                        "enum": [
                            "versioned_history",
                            "baseline_only"
                        ]
                    },
                    "workspace": {
                        "$ref": "#/components/schemas/ProjectWorkspace"
                    },
                    "subdomain": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "custom_domain": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "ProjectWorkspace": {
                "type": [
                    "object",
                    "null"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "role": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "DomainCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DomainEntry"
                        }
                    }
                },
                "additionalProperties": false
            },
            "DomainEntry": {
                "type": "object",
                "required": [
                    "id",
                    "host",
                    "type"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "host": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "custom",
                            "free_subdomain"
                        ]
                    },
                    "project": {
                        "$ref": "#/components/schemas/DomainProjectSummary"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "DomainProjectSummary": {
                "type": [
                    "object",
                    "null"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "host": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "ProjectDomainResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "$ref": "#/components/schemas/ProjectDomainSetup"
                    }
                }
            },
            "ProjectDomainSetup": {
                "type": "object",
                "required": [
                    "project",
                    "custom_domain",
                    "dns",
                    "steps",
                    "status"
                ],
                "properties": {
                    "project": {
                        "$ref": "#/components/schemas/Project"
                    },
                    "custom_domain": {
                        "$ref": "#/components/schemas/CustomDomainStatus"
                    },
                    "dns": {
                        "$ref": "#/components/schemas/DnsSetup"
                    },
                    "steps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "status": {
                        "$ref": "#/components/schemas/DomainStatusSummary"
                    },
                    "result_message": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "CustomDomainStatus": {
                "type": [
                    "object",
                    "null"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "host": {
                        "type": "string"
                    },
                    "validation_method": {
                        "type": "string"
                    },
                    "validation_status": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "hostname_status": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "ssl_status": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status_label": {
                        "type": "string"
                    },
                    "status_message": {
                        "type": "string"
                    },
                    "last_checked_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "verification_started_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "verification_completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "activation_seconds": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "needs_attention": {
                        "type": "boolean"
                    },
                    "errors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "additionalProperties": false
            },
            "DnsSetup": {
                "type": "object",
                "required": [
                    "records"
                ],
                "properties": {
                    "records": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DnsRecord"
                        }
                    },
                    "error": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "DnsRecord": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "additionalProperties": true
            },
            "DomainStatusSummary": {
                "type": "object",
                "required": [
                    "label",
                    "message",
                    "needs_attention"
                ],
                "properties": {
                    "label": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "needs_attention": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "ProjectFilesResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "project",
                            "path",
                            "folders",
                            "files"
                        ],
                        "properties": {
                            "project": {
                                "$ref": "#/components/schemas/Project"
                            },
                            "path": {
                                "type": "string"
                            },
                            "folders": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/WorkspaceItem"
                                }
                            },
                            "files": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/WorkspaceItem"
                                }
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "WorkspaceItem": {
                "type": "object",
                "required": [
                    "key",
                    "name",
                    "type"
                ],
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "editable": {
                        "type": "boolean"
                    },
                    "previewable": {
                        "type": "boolean"
                    },
                    "size": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "size_label": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "modified_at": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "modified_label": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "FileUploadResponse": {
                "type": "object",
                "required": [
                    "message",
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "project",
                            "path",
                            "mode"
                        ],
                        "properties": {
                            "project": {
                                "$ref": "#/components/schemas/Project"
                            },
                            "path": {
                                "type": "string"
                            },
                            "mode": {
                                "type": "string",
                                "enum": [
                                    "files",
                                    "zip",
                                    "url"
                                ]
                            },
                            "status": {
                                "type": "string"
                            },
                            "worker_pid": {
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "import_id": {
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "progress_url": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "ImportStatusResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "active",
                            "state",
                            "percent"
                        ],
                        "properties": {
                            "active": {
                                "type": "boolean"
                            },
                            "state": {
                                "type": "string",
                                "enum": [
                                    "idle",
                                    "running",
                                    "stalled",
                                    "completed",
                                    "failed"
                                ]
                            },
                            "type": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "enum": [
                                    "url",
                                    "zip",
                                    null
                                ]
                            },
                            "percent": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 100
                            },
                            "title": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "message": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "source_url": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "source_host": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "archive_name": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "reason": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "phase": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "pages": {
                                "type": "integer"
                            },
                            "assets": {
                                "type": "integer"
                            },
                            "bytes": {
                                "type": "integer"
                            },
                            "updated_at": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "format": "date-time"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "FileDeletionResponse": {
                "type": "object",
                "required": [
                    "message",
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "project",
                            "path",
                            "deleted_keys",
                            "deleted_count"
                        ],
                        "properties": {
                            "project": {
                                "$ref": "#/components/schemas/Project"
                            },
                            "path": {
                                "type": "string"
                            },
                            "deleted_keys": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "deleted_count": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "OverwriteConfirmationResponse": {
                "type": "object",
                "required": [
                    "message",
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "status",
                            "conflict_files",
                            "conflict_count"
                        ],
                        "properties": {
                            "status": {
                                "type": "string",
                                "const": "confirm_overwrite"
                            },
                            "conflict_files": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "conflict_count": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "DeploymentCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Deployment"
                        }
                    }
                },
                "additionalProperties": false
            },
            "DeploymentResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "$ref": "#/components/schemas/Deployment"
                    },
                    "message": {
                        "type": "string"
                    },
                    "error_code": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "Deployment": {
                "type": "object",
                "required": [
                    "id",
                    "project_id",
                    "kind",
                    "status",
                    "is_active",
                    "is_versioned",
                    "versioning_enabled",
                    "deployment_mode"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "project_id": {
                        "type": "integer"
                    },
                    "deployment_id": {
                        "type": "string"
                    },
                    "version_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "version_summary": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "kind": {
                        "type": "string",
                        "enum": [
                            "build",
                            "deploy"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "is_active": {
                        "type": "boolean"
                    },
                    "is_versioned": {
                        "type": "boolean"
                    },
                    "versioning_enabled": {
                        "type": "boolean"
                    },
                    "deployment_mode": {
                        "type": "string",
                        "enum": [
                            "versioned_history",
                            "baseline_only"
                        ]
                    },
                    "manifest_key": {
                        "type": "string"
                    },
                    "size_bytes": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "file_count": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "trigger": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "message": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "metadata": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "started_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "activated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "BulkDeploymentDeletionResponse": {
                "type": "object",
                "required": [
                    "message",
                    "data"
                ],
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "required": [
                            "deleted"
                        ],
                        "properties": {
                            "deleted": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    }
                }
            },
            "EnvironmentVariableCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EnvironmentVariable"
                        }
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "EnvironmentVariableResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "$ref": "#/components/schemas/EnvironmentVariable"
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "EnvironmentVariable": {
                "type": "object",
                "required": [
                    "id",
                    "project_id",
                    "key",
                    "value",
                    "is_secret"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "project_id": {
                        "type": "integer"
                    },
                    "key": {
                        "type": "string"
                    },
                    "value": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_secret": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "ActivityLogCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ActivityLog"
                        }
                    }
                },
                "additionalProperties": false
            },
            "ActivityLog": {
                "type": "object",
                "required": [
                    "id",
                    "project_id",
                    "level",
                    "event",
                    "message",
                    "context"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "project_id": {
                        "type": "integer"
                    },
                    "level": {
                        "type": "string"
                    },
                    "event": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "context": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "IndexingBalanceResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "tokens",
                            "indexer",
                            "checker"
                        ],
                        "properties": {
                            "tokens": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Combined SpeedyIndex token balance."
                            },
                            "indexer": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Indexer credits."
                            },
                            "checker": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Checker credits."
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "IndexingPagesResponse": {
                "type": "object",
                "required": [
                    "engine",
                    "status",
                    "rows",
                    "metrics",
                    "trend",
                    "pagination"
                ],
                "properties": {
                    "engine": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "rows": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IndexingPageRow"
                        }
                    },
                    "metrics": {
                        "type": "object",
                        "required": [
                            "unchecked",
                            "indexed",
                            "not_indexed",
                            "pending",
                            "error"
                        ],
                        "properties": {
                            "unchecked": {
                                "type": "integer"
                            },
                            "indexed": {
                                "type": "integer"
                            },
                            "not_indexed": {
                                "type": "integer"
                            },
                            "pending": {
                                "type": "integer"
                            },
                            "error": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    },
                    "trend": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "date",
                                "label",
                                "count"
                            ],
                            "properties": {
                                "date": {
                                    "type": "string"
                                },
                                "label": {
                                    "type": "string"
                                },
                                "count": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "pagination": {
                        "type": "object",
                        "required": [
                            "page",
                            "per_page",
                            "total",
                            "total_pages"
                        ],
                        "properties": {
                            "page": {
                                "type": "integer"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            },
                            "total_pages": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "IndexingPageRow": {
                "type": "object",
                "required": [
                    "site_id",
                    "url",
                    "status"
                ],
                "properties": {
                    "site_id": {
                        "type": "integer"
                    },
                    "site_name": {
                        "type": "string"
                    },
                    "site_host": {
                        "type": "string"
                    },
                    "workspace_name": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "unchecked",
                            "indexed",
                            "not_indexed",
                            "pending",
                            "error"
                        ]
                    },
                    "error_code": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "last_checked_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "last_checked_human": {
                        "type": "string"
                    },
                    "actions": {
                        "type": "object",
                        "additionalProperties": true
                    }
                },
                "additionalProperties": false
            },
            "IndexingSubmitRequest": {
                "type": "object",
                "properties": {
                    "engine": {
                        "type": "string",
                        "enum": [
                            "google",
                            "yandex",
                            "bing"
                        ],
                        "default": "google",
                        "description": "bing has no indexer; type=indexer with bing returns 422 engine_unsupported."
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "indexer",
                            "checker"
                        ],
                        "default": "indexer"
                    },
                    "urls": {
                        "type": "array",
                        "maxItems": 10000,
                        "items": {
                            "type": "string",
                            "format": "uri",
                            "maxLength": 700
                        },
                        "description": "Optional. When omitted, the sitemap-diff set is submitted."
                    }
                },
                "additionalProperties": false
            },
            "IndexingSubmitResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "created",
                            "submitted",
                            "est_tokens"
                        ],
                        "properties": {
                            "created": {
                                "type": "integer",
                                "description": "Number of SpeedyIndex tasks created."
                            },
                            "submitted": {
                                "type": "integer",
                                "description": "Number of URLs submitted."
                            },
                            "est_tokens": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Estimated indexer tokens; null for checker."
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "IndexingCheckRequest": {
                "type": "object",
                "properties": {
                    "engine": {
                        "type": "string",
                        "enum": [
                            "google",
                            "yandex",
                            "bing"
                        ],
                        "default": "google"
                    },
                    "urls": {
                        "type": "array",
                        "maxItems": 10000,
                        "items": {
                            "type": "string",
                            "format": "uri",
                            "maxLength": 700
                        },
                        "description": "Optional. When omitted, the full (site, engine) inventory is checked."
                    }
                },
                "additionalProperties": false
            },
            "IndexingCheckResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "created",
                            "submitted"
                        ],
                        "properties": {
                            "created": {
                                "type": "integer"
                            },
                            "submitted": {
                                "type": "integer"
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "IndexingTask": {
                "type": "object",
                "required": [
                    "id",
                    "engine",
                    "type",
                    "size",
                    "is_completed"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "engine": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "indexer",
                            "checker"
                        ]
                    },
                    "size": {
                        "type": "integer"
                    },
                    "processed_count": {
                        "type": "integer"
                    },
                    "indexed_count": {
                        "type": "integer"
                    },
                    "is_completed": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "IndexingTaskCollectionResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IndexingTask"
                        }
                    }
                },
                "additionalProperties": false
            },
            "IndexingTaskDetailResponse": {
                "type": "object",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "object",
                        "required": [
                            "task",
                            "urls"
                        ],
                        "properties": {
                            "task": {
                                "$ref": "#/components/schemas/IndexingTask"
                            },
                            "urls": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "required": [
                                        "url",
                                        "indexed"
                                    ],
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "indexed": {
                                            "type": "boolean"
                                        },
                                        "error_code": {
                                            "type": [
                                                "integer",
                                                "null"
                                            ]
                                        }
                                    },
                                    "additionalProperties": false
                                }
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "additionalProperties": false
            },
            "CreateWorkspaceRequest": {
                "type": "object",
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120
                    }
                },
                "additionalProperties": false
            },
            "DeleteWorkspaceRequest": {
                "type": "object",
                "required": [
                    "site_action"
                ],
                "properties": {
                    "site_action": {
                        "type": "string",
                        "enum": [
                            "move",
                            "delete"
                        ]
                    },
                    "target_workspace_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "CreateProjectRequest": {
                "type": "object",
                "properties": {
                    "workspace_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000
                    },
                    "archive": {
                        "type": "string",
                        "format": "binary",
                        "description": "Optional ZIP archive. Do not send with source_url."
                    },
                    "source_url": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "uri",
                        "maxLength": 1000
                    },
                    "versioning_enabled": {
                        "type": "boolean",
                        "description": "Optional initial deployment history setting. false creates the site in baseline_only mode; true or omitted keeps versioned_history mode."
                    }
                },
                "description": "Plan limits apply. Free allows 1 site, 500 MB storage, 500 MB max upload, and 1,000 form entries. Plus and Pro raise capacity. Unlimited uses custom capacity with 50 GB max uploads.",
                "additionalProperties": false
            },
            "UpdateProjectRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000
                    },
                    "versioning_enabled": {
                        "type": "boolean",
                        "description": "When true, each publish creates a rollback-ready release. When false, publishes update one baseline release so analytics and forms stay active without growing history."
                    },
                    "analytics_enabled": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "ga_measurement_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 23,
                        "description": "GA4 Measurement ID (e.g. G-XXXXXXXXXX). Send null or empty to disable gtag.js injection."
                    }
                },
                "additionalProperties": false
            },
            "ConnectDomainRequest": {
                "type": "object",
                "required": [
                    "domain"
                ],
                "description": "Starts the manual one-record DNS setup for a site custom domain. DNS Connect requires dashboard browser authorization and is not completed by this public API route.",
                "properties": {
                    "domain": {
                        "type": "string",
                        "maxLength": 253,
                        "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$",
                        "examples": [
                            "example.com",
                            "app.example.com"
                        ]
                    }
                },
                "additionalProperties": false
            },
            "UploadFilesRequest": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "type": "string",
                        "enum": [
                            "files",
                            "zip",
                            "url"
                        ]
                    },
                    "path": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000
                    },
                    "overwrite_confirmed": {
                        "type": "boolean"
                    },
                    "files": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        },
                        "description": "Required when mode is files. Each file must fit the current plan upload limit."
                    },
                    "archive": {
                        "type": "string",
                        "format": "binary",
                        "description": "Required when mode is zip. ZIP upload and extracted size must fit current plan limits."
                    },
                    "source_url": {
                        "type": "string",
                        "format": "uri",
                        "maxLength": 1000,
                        "description": "Required when mode is url. Imported content must fit remaining plan storage and upload budget."
                    }
                },
                "description": "Returns error_code=PLAN_QUOTA_EXCEEDED when the upload or storage limit would be exceeded.",
                "additionalProperties": false
            },
            "DeleteFilesRequest": {
                "type": "object",
                "required": [
                    "file_keys"
                ],
                "properties": {
                    "file_keys": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 500,
                        "items": {
                            "type": "string",
                            "maxLength": 1000
                        },
                        "description": "Workspace file or folder keys to delete. Relative paths are resolved inside the selected site."
                    },
                    "path": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Optional workspace path context for the response."
                    }
                },
                "description": "Requires files.write and explicit user approval because deletion is destructive.",
                "additionalProperties": false
            },
            "CreateDeploymentRequest": {
                "type": "object",
                "properties": {
                    "build_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "versioning_enabled": {
                        "type": "boolean",
                        "description": "Optional persistent site setting applied before this publish. false means baseline_only mode; true means versioned_history mode."
                    }
                },
                "additionalProperties": false
            },
            "BulkDeleteDeploymentsRequest": {
                "type": "object",
                "required": [
                    "deployment_ids"
                ],
                "properties": {
                    "deployment_ids": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "type": "integer"
                        }
                    }
                },
                "additionalProperties": false
            },
            "EnvironmentVariableRequest": {
                "type": "object",
                "required": [
                    "key"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "maxLength": 255,
                        "pattern": "^[A-Z0-9_]+$"
                    },
                    "value": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_secret": {
                        "type": "boolean",
                        "default": true
                    }
                },
                "additionalProperties": false
            },
            "SyncEnvironmentVariablesRequest": {
                "type": "object",
                "required": [
                    "variables"
                ],
                "properties": {
                    "variables": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EnvironmentVariableRequest"
                        }
                    }
                },
                "additionalProperties": false
            }
        }
    },
    "externalDocs": {
        "description": "StaticX documentation",
        "url": "https://staticx.site/documentation"
    },
    "x-staticx": {
        "llms_txt": "https://staticx.site/llms.txt",
        "llms_full_txt": "https://staticx.site/llms-full.txt",
        "openapi_json": "https://staticx.site/openapi.json",
        "canonical_openapi_json": "https://staticx.site/openapi.json",
        "alias_openapi_json": "https://staticx.site/api/v1/openapi.json",
        "alias_is_byte_identical": true,
        "api_base_url": "https://staticx.site/api/v1",
        "mcp": {
            "package": "staticx-mcp-server",
            "github": "https://github.com/madprodworks-coder/staticx-mcp-server",
            "npm": "https://www.npmjs.com/package/staticx-mcp-server"
        },
        "domain_workflows": {
            "api_cli_mcp": "Manual one-record custom domain setup through POST /projects/{project}/domain.",
            "dashboard_exact_dns_connect": "Browser-approved DNS Connect can create one exact CNAME for a single site domain.",
            "dashboard_publishing_domain": "Browser-approved DNS Connect can make a customer domain the default for future generated site URLs.",
            "dashboard_site_subdomain_suffix": "When an account has active publishing domains, the site Domain tab can save a generated subdomain on either the StaticX default suffix or an active publishing-domain suffix.",
            "agent_rule": "Agents must not claim they can authorize an external DNS provider silently. Ask the user to approve DNS Connect in the dashboard or return manual DNS instructions."
        },
        "agent_rules": [
            "Use scoped API tokens.",
            "Never print or log token values.",
            "Explain write actions before calling them.",
            "Require explicit confirmation before rollback or deletion.",
            "Deployable archives must contain index.html or index.htm plus 404.html at the archive root.",
            "Respect each site deployment_mode. baseline_only updates one analytics-ready release; versioned_history creates rollback versions.",
            "If the API returns PLAN_QUOTA_EXCEEDED, stop and report the exact error. Do not retry blindly."
        ],
        "plan_limits": {
            "free": {
                "sites": 1,
                "storage": "500 MB",
                "max_upload": "500 MB",
                "form_entries": 1000,
                "team_seats": 1,
                "rollback_versions": 5
            },
            "plus": {
                "sites": 15,
                "storage": "10 GB",
                "max_upload": "50 GB",
                "form_entries": 20000,
                "team_seats": 5,
                "rollback_versions": 10
            },
            "pro": {
                "sites": 100,
                "storage": "20 GB",
                "max_upload": "50 GB",
                "form_entries": 100000,
                "team_seats": 10,
                "rollback_versions": 50
            },
            "agency": {
                "sites": "custom",
                "storage": "custom",
                "max_upload": "50 GB",
                "form_entries": "custom",
                "team_seats": "custom",
                "rollback_versions": "custom"
            }
        }
    }
}