{
    "openapi": "3.1.0",
    "info": {
        "title": "Axiom Proving API",
        "description": "## Axiom Proving Service API\n\n    The Axiom Proving API allows you to compile, execute, and prove OpenVM programs on Axiom's cloud infrastructure.\n\n    **Core Concepts:**\n    - **Program**: Compiled OpenVM binary, versioned within a project (built via compilation API)\n    - **Project**: Container for program versions - auto-created if not specified during program upload\n    - **Proof**: Zero-knowledge proof of program execution\n    - **Execution**: Test run without proof generation (faster, for debugging before proving)\n\n    **Authentication:**\n    - CLI endpoints (`/v1/`): API key in `Axiom-API-Key` header\n    - Web console endpoints (`/console/v1/`): Bearer token authentication\n\n    All endpoints require appropriate authentication for your organization.\n    ",
        "version": "2.0.0"
    },
    "servers": [
        {
            "url": "https://api.axiom.xyz",
            "description": "Production API"
        },
        {
            "url": "https://api.staging.app.axiom.xyz",
            "description": "Staging API"
        }
    ],
    "paths": {
        "/v1/configs/{config_id}": {
            "get": {
                "tags": [
                    "configs"
                ],
                "summary": "Get Configuration",
                "description": "Retrieve details about a proving system configuration.",
                "operationId": "get_config_endpoint_v1_configs__config_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Config Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConfigResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configuration not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/programs": {
            "post": {
                "tags": [
                    "programs"
                ],
                "summary": "Register Program",
                "description": "Register a new OpenVM program from pre-built artifacts.\n\n    Build the program locally with `cargo openvm build`, then upload the resulting ELF\n    binary together with the transpiled VMEXE. The backend computes the program's\n    exe_commit and verification baseline asynchronously (via a lightweight Kubernetes job)\n    and flips the program to `Ready` — no cloud compilation happens.\n\n    ## Example Usage\n\n    ```bash\n    curl -X POST \"https://api.axiom.xyz/v1/programs?config_id=cfg_xxxx\" \\\n      -H \"Axiom-API-Key: your-api-key\" \\\n      -F \"elf=@program.elf\" \\\n      -F \"vmexe=@program.vmexe\" \\\n      -F \"project_name=My Project\"\n    ```",
                "operationId": "register_program_v1_programs_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The ID of the config to use (format: cfg_{ulid})",
                            "title": "Config Id"
                        },
                        "description": "The ID of the config to use (format: cfg_{ulid})"
                    },
                    {
                        "name": "program_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Optional custom name for the program",
                            "title": "Program Name"
                        },
                        "description": "Optional custom name for the program"
                    },
                    {
                        "name": "commit_sha",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "If applicable, the commit sha of the guest program",
                            "title": "Commit Sha"
                        },
                        "description": "If applicable, the commit sha of the guest program"
                    },
                    {
                        "name": "project_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "The ID of the project to associate this program with. If not provided, a new project will be created.",
                            "title": "Project Id"
                        },
                        "description": "The ID of the project to associate this program with. If not provided, a new project will be created."
                    },
                    {
                        "name": "project_name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Name for new project if project_id is not provided",
                            "title": "Project Name"
                        },
                        "description": "Name for new project if project_id is not provided"
                    },
                    {
                        "name": "default_num_gpus",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 10000,
                            "minimum": 1,
                            "description": "Default number of GPUs to use for proofs of this program",
                            "default": 8,
                            "title": "Default Num Gpus"
                        },
                        "description": "Default number of GPUs to use for proofs of this program"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/Body_register_program_v1_programs_post"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "201": {
                        "description": "Program registered successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid files or parameters"
                    },
                    "413": {
                        "description": "Files too large"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "summary": "DEPRECATED: List Programs",
                "description": "DEPRECATED: This endpoint is deprecated and will be removed in a future version.\n\n    Use instead:\n    - GET /v1/projects - for dashboard functionality with search/sort across projects\n    - GET /v1/projects/{project_id}/programs - for listing programs within a specific project",
                "operationId": "list_programs_v1_programs_get",
                "deprecated": true,
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 1,
                            "title": "Page"
                        }
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 20,
                            "title": "Page Size"
                        }
                    },
                    {
                        "name": "project_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Filter by project ID (UUID). DEPRECATED: Use /projects endpoint for dashboard functionality, or /projects/{project_id}/programs for project-specific program listing.",
                            "title": "Project Id"
                        },
                        "description": "Filter by project ID (UUID). DEPRECATED: Use /projects endpoint for dashboard functionality, or /projects/{project_id}/programs for project-specific program listing."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginationResponse_FeProgramResponse_"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/programs/{program_id}": {
            "get": {
                "tags": [
                    "programs"
                ],
                "summary": "Get Program",
                "description": "Retrieve detailed information about a specific program.",
                "operationId": "get_program_v1_programs__program_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Program Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Program details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeProgramResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "programs"
                ],
                "summary": "Update Program",
                "description": "Update program details such as project assignment and GPU settings.",
                "operationId": "update_program_v1_programs__program_id__put",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Program Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProgramRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Program updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "400": {
                        "description": "Invalid update data"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/programs/{program_id}/download/{program_type}": {
            "get": {
                "tags": [
                    "programs"
                ],
                "summary": "Download Program Artifact",
                "description": "Download various program artifacts including compiled binaries, source code, and configuration files.\n\n    Available program types:\n    - `exe`: Compiled program executable\n    - `elf`: ELF binary format\n    - `source`: Original source code archive\n    - `app_exe_commit`: Application executable commit\n    - `openvm_config`: OpenVM configuration file",
                "operationId": "download_program_v1_programs__program_id__download__program_type__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Program Id"
                        }
                    },
                    {
                        "name": "program_type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The type of program to download. Must be one of: exe, elf, source, app_exe_commit, openvm_config, baseline",
                            "title": "Program Type"
                        },
                        "description": "The type of program to download. Must be one of: exe, elf, source, app_exe_commit, openvm_config, baseline"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download initiated",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Program or artifact not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs": {
            "post": {
                "tags": [
                    "proofs"
                ],
                "summary": "Submit Proof Request",
                "description": "Submit a program for proving with specific input data.\n\n    The input data must be a JSON object with an 'input' key containing an array of hex strings.\n    Each hex string represents either:\n    - Hex string of bytes (prefixed with 0x01)\n    - Hex string of native field elements as u32 little endian (prefixed with 0x02)\n\n    Available proof types:\n    - `stark`: STARK proof (default)\n    - `evm`: EVM-compatible proof\n\n    ## Deferred child proofs (optional, multipart)\n\n    To fold child stark proofs into this job's `verify_stark` deferral circuit,\n    send `multipart/form-data` to the SAME endpoint: an `input` form field (the\n    JSON body as a string) plus one `child_proofs` file part per child. Each\n    part is a stark proof in the same JSON format `GET /v1/proofs/{id}/proof/stark`\n    serves (`VersionedVmStarkProof`); part order = circuit packing order. The\n    program's config must be deferral-enabled. Validation at submit is shallow\n    (caps + JSON shape); keyset/program mismatches fail the job at prove time.\n\n    ## Example Usage\n\n    ```bash\n    # Plain (no-deferral) submission — JSON body, unchanged:\n    curl -X POST \"https://api.axiom.xyz/v1/proofs?program_id=your-program-uuid&proof_type=stark\" \\\n      -H \"Axiom-API-Key: your-api-key\" \\\n      -H \"Content-Type: application/json\" \\\n      -d '{\n        \"input\": [\n          \"0x010A00000000000000\",\n          \"0x02FF00000000000000\"\n        ]\n      }'\n\n    # Deferral submission — multipart with inline child proofs:\n    curl -X POST \"https://api.axiom.xyz/v1/proofs?program_id=your-program-uuid&proof_type=stark\" \\\n      -H \"Axiom-API-Key: your-api-key\" \\\n      -F 'input={\"input\": [\"0x010A00000000000000\"]}' \\\n      -F 'child_proofs=@child0_stark_proof' \\\n      -F 'child_proofs=@child1_stark_proof'\n    ```",
                "operationId": "submit_proof_v1_proofs_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Program ID to generate proof for",
                            "title": "Program Id"
                        },
                        "description": "Program ID to generate proof for"
                    },
                    {
                        "name": "proof_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "The type of proof to generate. must be one of: evm, stark",
                            "default": "stark",
                            "title": "Proof Type"
                        },
                        "description": "The type of proof to generate. must be one of: evm, stark"
                    },
                    {
                        "name": "num_gpus",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "integer",
                                    "maximum": 10000,
                                    "minimum": 1
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Number of GPUs to use for this proof. If not provided, uses the program's default_num_gpus setting.",
                            "title": "Num Gpus"
                        },
                        "description": "Number of GPUs to use for this proof. If not provided, uses the program's default_num_gpus setting."
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 10,
                            "minimum": 1,
                            "description": "Priority level for this proof (1-10, where 10 is highest priority)",
                            "default": 3,
                            "title": "Priority"
                        },
                        "description": "Priority level for this proof (1-10, where 10 is highest priority)"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "201": {
                        "description": "Proof job submitted successfully"
                    },
                    "400": {
                        "description": "Invalid input data or proof type"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "input"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "Hex string array: `0x01` prefix + bytes, or `0x02` prefix + u32 LE field elements"
                                    }
                                }
                            },
                            "example": {
                                "input": [
                                    "0x010A00000000000000"
                                ]
                            }
                        },
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "input"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string",
                                        "description": "JSON string with the same schema as the application/json body"
                                    },
                                    "child_proofs": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        },
                                        "description": "One VersionedVmStarkProof JSON file per deferred child; part order = circuit packing order"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "List Proofs",
                "description": "List all proofs for a specific program with pagination support.",
                "operationId": "list_proofs_v1_proofs_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Program ID to list proofs for",
                            "title": "Program Id"
                        },
                        "description": "Program ID to list proofs for"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number for pagination",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number for pagination"
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Number of proofs per page",
                            "default": 20,
                            "title": "Page Size"
                        },
                        "description": "Number of proofs per page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proofs retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginationResponse_FeProofResponse_"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}/cancel": {
            "post": {
                "tags": [
                    "proofs"
                ],
                "summary": "Cancel Proof Request",
                "description": "Cancel a proof job that is currently queued or executing.",
                "operationId": "cancel_proof_v1_proofs__proof_id__cancel_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proof cancellation initiated successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Proof not found"
                    },
                    "400": {
                        "description": "Proof cannot be canceled (postprocessing, completed or failed)"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}": {
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "Get Proof Status",
                "description": "Retrieve the current status and details of a proof job.",
                "operationId": "get_proof_v1_proofs__proof_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proof details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeProofResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Proof not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/configs/{config_id}/pk/{key_type}": {
            "get": {
                "tags": [
                    "configs"
                ],
                "summary": "Download Proving Key",
                "description": "Generate a presigned URL to download various proving keys for a configuration.\n\n    Available key types:\n    - `app`: Application VM proving key\n    - `agg`: Aggregation proving key\n    - `halo2`: Halo2 proving key",
                "operationId": "download_proving_key_v1_configs__config_id__pk__key_type__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Config Id"
                        }
                    },
                    {
                        "name": "key_type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The type of proving key to download. Different keys are used for different parts of the proving system. Must be one of: app, agg, halo2",
                            "title": "Key Type"
                        },
                        "description": "The type of proving key to download. Different keys are used for different parts of the proving system. Must be one of: app, agg, halo2"
                    },
                    {
                        "name": "openvm_full_version",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Optional OpenVM full version with patch. If not provided, the latest for this config will be used.",
                            "title": "Openvm Full Version"
                        },
                        "description": "Optional OpenVM full version with patch. If not provided, the latest for this config will be used."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Download URL generated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UrlDownloadResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configuration or key not found"
                    },
                    "400": {
                        "description": "Invalid key type"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/configs/{config_id}/vk/{key_type}": {
            "get": {
                "tags": [
                    "configs"
                ],
                "summary": "Download Verification Key",
                "description": "Generate a presigned URL to download various verification keys for a configuration.\n\n    Available verification key types:\n    - `app`: Application verification key\n    - `agg`: Aggregation verification key",
                "operationId": "download_verification_key_v1_configs__config_id__vk__key_type__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Config Id"
                        }
                    },
                    {
                        "name": "key_type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The type of verification key to download. Must be one of: app, agg",
                            "title": "Key Type"
                        },
                        "description": "The type of verification key to download. Must be one of: app, agg"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Download URL generated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UrlDownloadResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configuration or key not found"
                    },
                    "400": {
                        "description": "Invalid key type"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/configs/{config_id}/evm_verifier": {
            "get": {
                "tags": [
                    "configs"
                ],
                "summary": "Download EVM Verifier",
                "description": "Download the EVM verifier contract as a JSON file for on-chain verification.",
                "operationId": "download_evm_verifier_v1_configs__config_id__evm_verifier_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Config Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "EVM verifier downloaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Configuration not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/configs/{config_id}/config": {
            "get": {
                "tags": [
                    "configs"
                ],
                "summary": "Download Configuration File",
                "description": "Download the OpenVM configuration TOML file.",
                "operationId": "download_config_v1_configs__config_id__config_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Config Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a file for download",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "file": "A file will be downloaded"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "File not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}/proof/{proof_type}": {
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "Download Proof File",
                "description": "Download the generated proof file in JSON format.\n\n    Available proof types:\n    - `stark`: STARK proof file\n    - `root`: Root proof file\n    - `evm`: EVM-compatible proof file",
                "operationId": "download_proof_v1_proofs__proof_id__proof__proof_type__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    },
                    {
                        "name": "proof_type",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The type of proof to download, must be one of: stark, root, evm",
                            "title": "Proof Type"
                        },
                        "description": "The type of proof to download, must be one of: stark, root, evm"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proof file downloaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Proof or proof type not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}/logs": {
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "Download Proof Logs",
                "description": "Download the proving logs to debug proof generation issues.",
                "operationId": "download_proof_logs_v1_proofs__proof_id__logs_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logs downloaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Proof or logs not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/executions": {
            "post": {
                "tags": [
                    "executions"
                ],
                "summary": "Submit Execution Request",
                "description": "Execute a program to get cycle counts, tick counts, and public values without full proving.\n\n    This is useful for testing and optimization before running expensive proof generation.\n    Input format is the same as for proof requests.",
                "operationId": "submit_execution_v1_executions_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Program ID to execute",
                            "title": "Program Id"
                        },
                        "description": "Program ID to execute"
                    },
                    {
                        "name": "mode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "Execution mode: 'pure' (output only), 'meter' (output + cost + instructions), 'segment' (output + segments + instructions)",
                            "default": "pure",
                            "title": "Mode"
                        },
                        "description": "Execution mode: 'pure' (output only), 'meter' (output + cost + instructions), 'segment' (output + segments + instructions)"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "description": "Input data for program execution. Must be a JSON object with 'input' key containing hex string array.\n\n        **Input format:**\n        - Bytes: `0x01` prefix + hex data (e.g. `0x010A00000000000000`)\n        - Field elements: `0x02` prefix + u32 little endian hex (e.g. `0x02FF00000000000000`)\n        ",
                                "examples": [
                                    {
                                        "input": [
                                            "0x010A00000000000000"
                                        ]
                                    }
                                ],
                                "title": "Input Data"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "201": {
                        "description": "Execution job submitted successfully"
                    },
                    "400": {
                        "description": "Invalid input data"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "executions"
                ],
                "summary": "List Executions",
                "description": "List all executions for a specific program with pagination support.",
                "operationId": "list_executions_v1_executions_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Program ID to list executions for",
                            "title": "Program Id"
                        },
                        "description": "Program ID to list executions for"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number for pagination",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number for pagination"
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Number of executions per page",
                            "default": 20,
                            "title": "Page Size"
                        },
                        "description": "Number of executions per page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Executions retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginationResponse_FeExecutionResponse_"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/executions/{execution_id}": {
            "get": {
                "tags": [
                    "executions"
                ],
                "summary": "Get Execution Results",
                "description": "Retrieve the results of a program execution including cycle counts and public values.",
                "operationId": "get_execution_v1_executions__execution_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "execution_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Execution Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Execution results retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeExecutionResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Execution not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/executions/{execution_id}/logs": {
            "get": {
                "tags": [
                    "executions"
                ],
                "summary": "Download Execution Logs",
                "description": "Download the execution logs to debug execution issues.",
                "operationId": "download_execution_logs_v1_executions__execution_id__logs_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "execution_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Execution Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Logs downloaded successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Execution or logs not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}/metrics_report": {
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "Download Metrics Report",
                "description": "Download a detailed metrics report for the proof including performance statistics.",
                "operationId": "download_metrics_report_v1_proofs__proof_id__metrics_report_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the metrics report as markdown",
                        "content": {
                            "application/json": {
                                "schema": {}
                            },
                            "text/markdown": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Report not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/proofs/{proof_id}/metrics_json": {
            "get": {
                "tags": [
                    "proofs"
                ],
                "summary": "Download Metrics Json",
                "description": "Download metrics data for the proof in JSON format.",
                "operationId": "download_metrics_json_v1_proofs__proof_id__metrics_json_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "proof_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Proof Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the raw metrics as JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Raw metrics not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/verify": {
            "post": {
                "tags": [
                    "verification"
                ],
                "summary": "Submit EVM Proof Verification",
                "description": "Submit an EVM proof for verification. Upload the proof file and specify the configuration used.",
                "operationId": "verify_evm_v1_verify_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "config_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Configuration ID used to generate the proof (format: cfg_{ulid})",
                            "title": "Config Id"
                        },
                        "description": "Configuration ID used to generate the proof (format: cfg_{ulid})"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/Body_verify_evm_v1_verify_post"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configuration not found"
                    },
                    "201": {
                        "description": "Verification job submitted successfully"
                    },
                    "400": {
                        "description": "Invalid proof file or configuration"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/verify/stark": {
            "post": {
                "tags": [
                    "verification"
                ],
                "summary": "Submit STARK Proof Verification",
                "description": "Submit a STARK proof for verification. Upload the proof file and specify the program used. The configuration will be automatically determined from the program.",
                "operationId": "verify_stark_v1_verify_stark_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "program_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Program ID that generated the proof",
                            "title": "Program Id"
                        },
                        "description": "Program ID that generated the proof"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/Body_verify_stark_v1_verify_stark_post"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Program not found"
                    },
                    "201": {
                        "description": "Verification job submitted successfully"
                    },
                    "400": {
                        "description": "Invalid proof file, configuration, or program"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/verify/{verify_id}": {
            "get": {
                "tags": [
                    "verification"
                ],
                "summary": "Get Verification Result",
                "description": "Check the status and result of either an EVM or STARK proof verification.",
                "operationId": "get_verify_v1_verify__verify_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "verify_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Verify Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Verification result retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeVerifyResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Verification request not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/verify/stark/{verify_id}": {
            "get": {
                "tags": [
                    "verification"
                ],
                "summary": "Get STARK Verification Result",
                "description": "Check the status and result of a STARK proof verification. This is a legacy endpoint that routes to the unified verification endpoint.",
                "operationId": "get_verify_stark_legacy_v1_verify_stark__verify_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "verify_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Verify Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "STARK verification result retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeVerifyResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "STARK verification request not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/verify/evm/{verify_id}": {
            "get": {
                "tags": [
                    "verification"
                ],
                "summary": "Get EVM Verification Result",
                "description": "Check the status and result of an EVM proof verification. This is a legacy endpoint that routes to the unified verification endpoint.",
                "operationId": "get_verify_evm_legacy_v1_verify_evm__verify_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "verify_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Verify Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "EVM verification result retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeVerifyResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "EVM verification request not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects": {
            "get": {
                "tags": [
                    "projects"
                ],
                "summary": "List Projects",
                "description": "List all projects for your organization with search and sorting capabilities.\n\n    Projects help organize related programs and proofs. You can search by name and sort by various criteria.",
                "operationId": "list_projects_v1_projects_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1,
                            "title": "Page"
                        }
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "default": 20,
                            "title": "Page Size"
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "Search projects by name or ID",
                            "default": "",
                            "title": "Search"
                        },
                        "description": "Search projects by name or ID"
                    },
                    {
                        "name": "sort_by",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "Sort by: created_at, name, last_active_at, program_count, total_proofs_run",
                            "default": "created_at",
                            "title": "Sort By"
                        },
                        "description": "Sort by: created_at, name, last_active_at, program_count, total_proofs_run"
                    },
                    {
                        "name": "sort_direction",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "Sort direction: asc or desc",
                            "default": "desc",
                            "title": "Sort Direction"
                        },
                        "description": "Sort direction: asc or desc"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginationResponse_FeProjectResponse_"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "projects"
                ],
                "summary": "Create Project",
                "description": "Create a new project to organize your programs and proofs.",
                "operationId": "create_project_v1_projects_post",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "string",
                                "title": "Name"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PostResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "201": {
                        "description": "Project created successfully"
                    },
                    "400": {
                        "description": "Invalid project name"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/{project_id}": {
            "get": {
                "tags": [
                    "projects"
                ],
                "summary": "Get Project",
                "description": "Retrieve detailed information about a specific project including statistics.",
                "operationId": "get_project_v1_projects__project_id__get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Project Id"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeProjectResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Project not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "projects"
                ],
                "summary": "Update Project",
                "description": "Update project details such as name or highlighted program.",
                "operationId": "update_project_v1_projects__project_id__put",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Project Id"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProjectRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Project updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "404": {
                        "description": "Project not found"
                    },
                    "400": {
                        "description": "Invalid update data"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/projects/{project_id}/programs": {
            "get": {
                "tags": [
                    "projects"
                ],
                "summary": "List Project Programs",
                "description": "List all programs within a specific project with pagination support.",
                "operationId": "list_project_programs_v1_projects__project_id__programs_get",
                "security": [
                    {
                        "APIKeyHeader": []
                    }
                ],
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Project Id"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1,
                            "title": "Page"
                        }
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "default": 20,
                            "title": "Page Size"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project programs retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginationResponse_FeProgramResponse_"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Project not found"
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "ArtifactStatus": {
                "type": "string",
                "enum": [
                    "ready",
                    "processing",
                    "not_ready",
                    "error",
                    "failed"
                ],
                "title": "ArtifactStatus"
            },
            "Body_register_program_v1_programs_post": {
                "properties": {
                    "elf": {
                        "type": "string",
                        "format": "binary",
                        "title": "Elf",
                        "description": "Pre-built ELF binary"
                    },
                    "vmexe": {
                        "type": "string",
                        "format": "binary",
                        "title": "Vmexe",
                        "description": "Transpiled VMEXE file"
                    }
                },
                "type": "object",
                "required": [
                    "elf",
                    "vmexe"
                ],
                "title": "Body_register_program_v1_programs_post"
            },
            "Body_verify_evm_v1_verify_post": {
                "properties": {
                    "proof": {
                        "type": "string",
                        "format": "binary",
                        "title": "Proof",
                        "description": "EVM proof file to verify (.json format)"
                    }
                },
                "type": "object",
                "required": [
                    "proof"
                ],
                "title": "Body_verify_evm_v1_verify_post"
            },
            "Body_verify_stark_v1_verify_stark_post": {
                "properties": {
                    "proof": {
                        "type": "string",
                        "format": "binary",
                        "title": "Proof",
                        "description": "STARK proof file to verify (.json format)"
                    }
                },
                "type": "object",
                "required": [
                    "proof"
                ],
                "title": "Body_verify_stark_v1_verify_stark_post"
            },
            "ConfigResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "openvm_version": {
                        "type": "string",
                        "title": "Openvm Version"
                    },
                    "stark_backend_version": {
                        "type": "string",
                        "title": "Stark Backend Version"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ArtifactStatus"
                    },
                    "active": {
                        "type": "boolean",
                        "title": "Active"
                    },
                    "app_vm_commit": {
                        "type": "string",
                        "title": "App Vm Commit"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "openvm_version",
                    "stark_backend_version",
                    "status",
                    "active",
                    "app_vm_commit"
                ],
                "title": "ConfigResponse",
                "description": "User-facing config response model."
            },
            "FeExecutionResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "status": {
                        "$ref": "#/components/schemas/GenericJobState"
                    },
                    "program_uuid": {
                        "type": "string",
                        "title": "Program Uuid"
                    },
                    "error_message": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Error Message",
                        "description": "Error message if the execution failed",
                        "examples": [
                            ""
                        ]
                    },
                    "launched_at": {
                        "type": "string",
                        "title": "Launched At"
                    },
                    "terminated_at": {
                        "type": "string",
                        "title": "Terminated At"
                    },
                    "created_by": {
                        "type": "string",
                        "title": "Created By"
                    },
                    "mode": {
                        "type": "string",
                        "title": "Mode",
                        "description": "Execution mode: pure, meter, or segment"
                    },
                    "public_values": {
                        "anyOf": [
                            {
                                "items": {},
                                "type": "array"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Public Values",
                        "description": "Public values from execution"
                    },
                    "cost": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cost",
                        "description": "Cost (for meter mode)"
                    },
                    "num_segments": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Num Segments",
                        "description": "Number of segments (for segment mode)"
                    },
                    "total_cycle": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Total Cycle",
                        "description": "Total cycle count from execution"
                    },
                    "total_tick": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Total Tick",
                        "description": "Total tick count from execution (legacy)"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "status",
                    "program_uuid",
                    "launched_at",
                    "terminated_at",
                    "created_by",
                    "mode"
                ],
                "title": "FeExecutionResponse",
                "description": "User-facing execution response model."
            },
            "FeProgramResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "status": {
                        "$ref": "#/components/schemas/ArtifactStatus"
                    },
                    "error_message": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Error Message",
                        "description": "Error message if the program compilation failed",
                        "examples": [
                            ""
                        ]
                    },
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "created_by": {
                        "type": "string",
                        "title": "Created By"
                    },
                    "last_active_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Last Active At"
                    },
                    "launched_at": {
                        "type": "string",
                        "title": "Launched At"
                    },
                    "terminated_at": {
                        "type": "string",
                        "title": "Terminated At"
                    },
                    "config_uuid": {
                        "type": "string",
                        "title": "Config Uuid"
                    },
                    "program_hash": {
                        "type": "string",
                        "title": "Program Hash"
                    },
                    "openvm_config": {
                        "type": "string",
                        "title": "Openvm Config"
                    },
                    "cells_used": {
                        "type": "integer",
                        "title": "Cells Used"
                    },
                    "proofs_run": {
                        "type": "integer",
                        "title": "Proofs Run"
                    },
                    "commit_sha": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Commit Sha"
                    },
                    "default_num_gpus": {
                        "type": "integer",
                        "title": "Default Num Gpus"
                    },
                    "project_id": {
                        "type": "string",
                        "title": "Project Id"
                    },
                    "project_name": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Project Name"
                    },
                    "project_highlighted_program_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Project Highlighted Program Id"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "status",
                    "name",
                    "created_by",
                    "last_active_at",
                    "launched_at",
                    "terminated_at",
                    "config_uuid",
                    "program_hash",
                    "openvm_config",
                    "cells_used",
                    "proofs_run",
                    "commit_sha",
                    "default_num_gpus",
                    "project_id",
                    "project_name",
                    "project_highlighted_program_id"
                ],
                "title": "FeProgramResponse",
                "description": "User-facing program response model."
            },
            "FeProjectResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "organization_id": {
                        "type": "integer",
                        "title": "Organization Id"
                    },
                    "highlighted_program_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Highlighted Program Id"
                    },
                    "highlighted_program_pinned": {
                        "type": "boolean",
                        "title": "Highlighted Program Pinned"
                    },
                    "created_by": {
                        "type": "string",
                        "title": "Created By"
                    },
                    "program_count": {
                        "type": "integer",
                        "title": "Program Count"
                    },
                    "total_proofs_run": {
                        "type": "integer",
                        "title": "Total Proofs Run"
                    },
                    "last_active_at": {
                        "anyOf": [
                            {
                                "type": "string",
                                "format": "date-time"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Last Active At"
                    },
                    "total_usage_count": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Total Usage Count"
                    },
                    "is_favorite": {
                        "type": "boolean",
                        "title": "Is Favorite"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "name",
                    "organization_id",
                    "highlighted_program_id",
                    "highlighted_program_pinned",
                    "created_by",
                    "program_count",
                    "total_proofs_run",
                    "last_active_at",
                    "is_favorite"
                ],
                "title": "FeProjectResponse",
                "description": "User-facing project response model."
            },
            "FeProofResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "state": {
                        "$ref": "#/components/schemas/ProvingJobState"
                    },
                    "proof_type": {
                        "$ref": "#/components/schemas/ProofType"
                    },
                    "program_uuid": {
                        "type": "string",
                        "title": "Program Uuid"
                    },
                    "error_message": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Error Message",
                        "description": "Error message if the proof failed",
                        "examples": [
                            ""
                        ]
                    },
                    "launched_at": {
                        "type": "string",
                        "title": "Launched At"
                    },
                    "terminated_at": {
                        "type": "string",
                        "title": "Terminated At"
                    },
                    "created_by": {
                        "type": "string",
                        "title": "Created By"
                    },
                    "cells_used": {
                        "type": "integer",
                        "title": "Cells Used"
                    },
                    "cost": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Cost"
                    },
                    "machine_type": {
                        "type": "string",
                        "title": "Machine Type"
                    },
                    "num_gpus": {
                        "type": "integer",
                        "title": "Num Gpus"
                    },
                    "priority": {
                        "type": "integer",
                        "title": "Priority"
                    },
                    "proof_size": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Proof Size",
                        "description": "Proof size in bytes"
                    },
                    "num_instructions": {
                        "anyOf": [
                            {
                                "type": "integer"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Num Instructions",
                        "description": "Number of instructions executed"
                    },
                    "num_deferred_proofs": {
                        "type": "integer",
                        "title": "Num Deferred Proofs",
                        "description": "Number of child stark proofs uploaded with the submission and folded into this job's verify_stark deferral circuit; 0 for a normal no-deferral job",
                        "default": 0
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "state",
                    "proof_type",
                    "program_uuid",
                    "launched_at",
                    "terminated_at",
                    "created_by",
                    "cells_used",
                    "cost",
                    "machine_type",
                    "num_gpus",
                    "priority"
                ],
                "title": "FeProofResponse",
                "description": "User-facing proof response model."
            },
            "FeVerifyResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "created_at": {
                        "type": "string",
                        "title": "Created At"
                    },
                    "result": {
                        "$ref": "#/components/schemas/VerificationResult"
                    },
                    "proof_type": {
                        "type": "string",
                        "title": "Proof Type"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "created_at",
                    "result",
                    "proof_type"
                ],
                "title": "FeVerifyResponse",
                "description": "User-facing verification response model for both EVM and STARK proofs."
            },
            "GenericJobState": {
                "type": "string",
                "enum": [
                    "Queued",
                    "InProgress",
                    "Succeeded",
                    "Failed"
                ],
                "title": "GenericJobState"
            },
            "HTTPValidationError": {
                "properties": {
                    "detail": {
                        "items": {
                            "$ref": "#/components/schemas/ValidationError"
                        },
                        "type": "array",
                        "title": "Detail"
                    }
                },
                "type": "object",
                "title": "HTTPValidationError"
            },
            "PaginationInfo": {
                "properties": {
                    "total": {
                        "type": "integer",
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "title": "Page"
                    },
                    "page_size": {
                        "type": "integer",
                        "title": "Page Size"
                    },
                    "pages": {
                        "type": "integer",
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "total",
                    "page",
                    "page_size",
                    "pages"
                ],
                "title": "PaginationInfo",
                "description": "Pagination metadata."
            },
            "PaginationResponse_FeExecutionResponse_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/FeExecutionResponse"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/PaginationInfo"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "pagination"
                ],
                "title": "PaginationResponse[FeExecutionResponse]"
            },
            "PaginationResponse_FeProgramResponse_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/FeProgramResponse"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/PaginationInfo"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "pagination"
                ],
                "title": "PaginationResponse[FeProgramResponse]"
            },
            "PaginationResponse_FeProjectResponse_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/FeProjectResponse"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/PaginationInfo"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "pagination"
                ],
                "title": "PaginationResponse[FeProjectResponse]"
            },
            "PaginationResponse_FeProofResponse_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/FeProofResponse"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "pagination": {
                        "$ref": "#/components/schemas/PaginationInfo"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "pagination"
                ],
                "title": "PaginationResponse[FeProofResponse]"
            },
            "PostResponse": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ],
                "title": "PostResponse",
                "description": "Generic response for POST operations."
            },
            "ProofType": {
                "type": "string",
                "enum": [
                    "app",
                    "stark",
                    "evm"
                ],
                "title": "ProofType"
            },
            "ProvingJobState": {
                "type": "string",
                "enum": [
                    "Queued",
                    "Executing",
                    "Executed",
                    "AppProving",
                    "AppProvingDone",
                    "PostProcessing",
                    "Failed",
                    "Succeeded",
                    "Canceling",
                    "Canceled"
                ],
                "title": "ProvingJobState"
            },
            "UpdateProgramRequest": {
                "properties": {
                    "project_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Project Id",
                        "description": "ID of the project to assign the program to."
                    },
                    "default_num_gpus": {
                        "anyOf": [
                            {
                                "type": "integer",
                                "maximum": 10000.0,
                                "minimum": 1.0
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Default Num Gpus",
                        "description": "Default number of GPUs to use for proofs of this program."
                    }
                },
                "type": "object",
                "title": "UpdateProgramRequest"
            },
            "UpdateProjectRequest": {
                "properties": {
                    "name": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Name",
                        "description": "New name for the project. Cannot be empty or longer than 255 characters."
                    },
                    "highlighted_program_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Highlighted Program Id",
                        "description": "UUID of the program to highlight in this project. Use empty string to remove highlighting."
                    },
                    "highlighted_program_pinned": {
                        "anyOf": [
                            {
                                "type": "boolean"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Highlighted Program Pinned",
                        "description": "Whether the highlighted program should be pinned (prevents auto-updating)."
                    }
                },
                "type": "object",
                "title": "UpdateProjectRequest"
            },
            "UrlDownloadResponse": {
                "properties": {
                    "download_url": {
                        "type": "string",
                        "title": "Download Url"
                    }
                },
                "type": "object",
                "required": [
                    "download_url"
                ],
                "title": "UrlDownloadResponse",
                "description": "Response for download URL generation."
            },
            "ValidationError": {
                "properties": {
                    "loc": {
                        "items": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "integer"
                                }
                            ]
                        },
                        "type": "array",
                        "title": "Location"
                    },
                    "msg": {
                        "type": "string",
                        "title": "Message"
                    },
                    "type": {
                        "type": "string",
                        "title": "Error Type"
                    }
                },
                "type": "object",
                "required": [
                    "loc",
                    "msg",
                    "type"
                ],
                "title": "ValidationError"
            },
            "VerificationResult": {
                "type": "string",
                "enum": [
                    "processing",
                    "verified",
                    "failed"
                ],
                "title": "VerificationResult",
                "description": "EVM verification results."
            }
        },
        "securitySchemes": {
            "APIKeyHeader": {
                "type": "apiKey",
                "in": "header",
                "name": "Axiom-API-Key"
            }
        }
    }
}