{
  "openapi": "3.1.0",
  "info": {
    "title": "DOCX API",
    "version": "0.1.0"
  },
  "paths": {
    "/health": {
      "get": {
        "operationId": "health_health_get",
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/auth/signup": {
      "post": {
        "operationId": "signup_v1_auth_signup_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignupReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/auth/login": {
      "post": {
        "operationId": "login_v1_auth_login_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/auth/me": {
      "get": {
        "operationId": "me_v1_auth_me_get",
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs": {
      "get": {
        "operationId": "list_orgs_v1_orgs_get",
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_org_v1_orgs_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrgReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects": {
      "get": {
        "operationId": "list_projects_v1_projects_get",
        "parameters": [
          {
            "name": "org_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_project_v1_projects_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectReq"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}": {
      "get": {
        "operationId": "get_project_v1_projects_project_id_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "patch": {
        "operationId": "update_project_v1_projects_project_id_patch",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "delete": {
        "operationId": "delete_project_v1_projects_project_id_delete",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/redirects": {
      "get": {
        "operationId": "list_redirects_v1_projects_project_id_redirects_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_redirect_v1_projects_project_id_redirects_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRedirectReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/redirects/{redirect_id}": {
      "delete": {
        "operationId": "delete_redirect_v1_projects_project_id_redirects_redirect_id_delete",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirect_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/pages": {
      "get": {
        "operationId": "list_pages_v1_projects_project_id_pages_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_page_v1_projects_project_id_pages_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePageReq"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/pages/{page_id}": {
      "get": {
        "operationId": "get_page_v1_pages_page_id_get",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "patch": {
        "operationId": "update_page_v1_pages_page_id_patch",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePageReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "delete": {
        "operationId": "delete_page_v1_pages_page_id_delete",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/pages/{page_id}/history": {
      "get": {
        "operationId": "list_page_history_v1_pages_page_id_history_get",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/pages/{page_id}/history/{history_id}": {
      "get": {
        "operationId": "get_page_history_snapshot_v1_pages_page_id_history_history_id_get",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "history_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/pages/{page_id}/history/{history_id}/restore": {
      "post": {
        "operationId": "restore_page_history_v1_pages_page_id_history_history_id_restore_post",
        "parameters": [
          {
            "name": "page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "history_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/render": {
      "post": {
        "operationId": "render_markdown_v1_render_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenderReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/import/openapi": {
      "post": {
        "operationId": "import_openapi_v1_projects_project_id_import_openapi_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportOpenApiReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/import/cli": {
      "post": {
        "operationId": "import_cli_v1_projects_project_id_import_cli_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportCliReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/import/bundle": {
      "post": {
        "summary": "Import a .zip of markdown files (+ optional docs.json manifest).",
        "operationId": "import_bundle_v1_projects_project_id_import_bundle_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/import/git": {
      "post": {
        "summary": "Build docs from a public GitHub repo's markdown (+ optional docs.json).",
        "operationId": "import_git_v1_projects_project_id_import_git_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportGitReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/publish": {
      "post": {
        "operationId": "publish_v1_projects_project_id_publish_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/export": {
      "get": {
        "summary": "Download a self-contained static site (.zip) of the project's docs.",
        "operationId": "export_site_v1_projects_project_id_export_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/ai/status": {
      "get": {
        "summary": "Capability probe so the editor can show/hide the AI controls.",
        "operationId": "ai_status_v1_ai_status_get",
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/ai/enrich": {
      "post": {
        "summary": "Run an enrichment action (improve / expand / summarize / \u2026) over text.",
        "operationId": "ai_enrich_v1_projects_project_id_ai_enrich_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrichReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/assets": {
      "post": {
        "summary": "Upload any file (image, binary, attachment) into a project's asset store.",
        "operationId": "upload_asset_v1_projects_project_id_assets_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "operationId": "list_assets_v1_projects_project_id_assets_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/assets/{asset_id}": {
      "delete": {
        "operationId": "delete_asset_v1_assets_asset_id_delete",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/unlock": {
      "post": {
        "operationId": "unlock_site_public_sites_slug_unlock_post",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnlockReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}": {
      "get": {
        "operationId": "public_site_public_sites_slug_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/pages/{page_slug}": {
      "get": {
        "operationId": "public_page_public_sites_slug_pages_page_slug_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/products/{slug}/apps": {
      "get": {
        "summary": "The published apps/SDKs under a product slug \u2014 powers the docs app switcher.",
        "operationId": "public_product_apps_public_products_slug_apps_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/sub/{subproject}": {
      "get": {
        "operationId": "public_site_sub_public_sites_slug_sub_subproject_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subproject",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/sub/{subproject}/pages/{page_slug}": {
      "get": {
        "operationId": "public_page_sub_public_sites_slug_sub_subproject_pages_page_slug_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subproject",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/prompt": {
      "get": {
        "summary": "Return the entire docs as a single structured agent-ready prompt.",
        "operationId": "public_prompt_public_sites_slug_prompt_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/sub/{subproject}/prompt": {
      "get": {
        "summary": "Return the entire docs (subproject variant) as a single structured agent-ready prompt.",
        "operationId": "public_prompt_sub_public_sites_slug_sub_subproject_prompt_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subproject",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/search": {
      "get": {
        "operationId": "search_site_public_sites_slug_search_get",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sub",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/chat": {
      "post": {
        "operationId": "chat_site_public_sites_slug_chat_post",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/track": {
      "post": {
        "summary": "Record a single page view. Called by the public docs site.",
        "operationId": "track_view_public_track_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrackReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/uploads/{key:path}": {
      "get": {
        "summary": "Serve a locally-stored asset (GCS-backed assets are served by GCS directly).",
        "operationId": "serve_upload_uploads_key:path_get",
        "parameters": [
          {
            "name": "key",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/playground/proxy": {
      "post": {
        "summary": "Proxy/relay an HTTP request to bypass CORS restrictions during API testing.",
        "operationId": "playground_proxy_public_playground_proxy_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProxyReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs/{org_id}/temp-credentials": {
      "get": {
        "operationId": "list_temp_credentials_v1_orgs_org_id_temp-credentials_get",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_temp_credential_v1_orgs_org_id_temp-credentials_post",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTempCredsReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs/{org_id}/temp-credentials/{cred_id}": {
      "delete": {
        "operationId": "delete_temp_credential_v1_orgs_org_id_temp-credentials_cred_id_delete",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cred_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/analytics": {
      "get": {
        "summary": "Return analytics data for the given project over the last `days` days.",
        "operationId": "get_analytics_v1_projects_project_id_analytics_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/analytics/search": {
      "get": {
        "summary": "Return top search queries and unanswered queries (results count = 0).",
        "operationId": "get_search_analytics_v1_projects_project_id_analytics_search_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/webhooks/git/{config_id}": {
      "post": {
        "operationId": "github_webhook_v1_webhooks_git_config_id_post",
        "parameters": [
          {
            "name": "config_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/git-sync": {
      "get": {
        "operationId": "get_git_sync_v1_projects_project_id_git-sync_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "upsert_git_sync_v1_projects_project_id_git-sync_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "body",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "delete": {
        "operationId": "delete_git_sync_v1_projects_project_id_git-sync_delete",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/git-sync/secret": {
      "get": {
        "summary": "Return the HMAC secret \u2014 shown once in the UI so the user can paste it in GitHub.",
        "operationId": "get_git_sync_secret_v1_projects_project_id_git-sync_secret_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/git-sync/trigger": {
      "post": {
        "summary": "Manually trigger a sync run (same as a push webhook but admin-initiated).",
        "operationId": "trigger_sync_v1_projects_project_id_git-sync_trigger_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/git-sync/runs": {
      "get": {
        "operationId": "list_sync_runs_v1_projects_project_id_git-sync_runs_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/versions": {
      "get": {
        "operationId": "list_versions_v1_projects_project_id_versions_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "upsert_version_v1_projects_project_id_versions_post",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectVersionReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/versions/{version_tag}": {
      "delete": {
        "operationId": "delete_version_v1_projects_project_id_versions_version_tag_delete",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version_tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/public/sites/{slug}/pages/{page_slug}/feedback": {
      "post": {
        "operationId": "submit_page_feedback_public_sites_slug_pages_page_slug_feedback_post",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PageFeedbackReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/projects/{project_id}/feedback": {
      "get": {
        "operationId": "get_project_feedback_v1_projects_project_id_feedback_get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs/{org_id}/members": {
      "get": {
        "operationId": "list_org_members_v1_orgs_org_id_members_get",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs/{org_id}/invitations": {
      "get": {
        "operationId": "list_org_invitations_v1_orgs_org_id_invitations_get",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "operationId": "create_org_invitation_v1_orgs_org_id_invitations_post",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvitationReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/orgs/{org_id}/invitations/{inv_id}": {
      "delete": {
        "operationId": "delete_org_invitation_v1_orgs_org_id_invitations_inv_id_delete",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inv_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/auth/invitations/{token}/accept": {
      "post": {
        "operationId": "accept_org_invitation_v1_auth_invitations_token_accept_post",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "SignupReq": {
        "properties": {
          "email": {
            "title": "Email",
            "type": "string"
          },
          "password": {
            "title": "Password",
            "type": "string"
          },
          "name": {
            "default": "",
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "title": "SignupReq",
        "type": "object"
      },
      "LoginReq": {
        "properties": {
          "email": {
            "title": "Email",
            "type": "string"
          },
          "password": {
            "title": "Password",
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "title": "LoginReq",
        "type": "object"
      },
      "CreateOrgReq": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "CreateOrgReq",
        "type": "object"
      },
      "CreateProjectReq": {
        "properties": {
          "org_id": {
            "title": "Org Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "subproject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Subproject"
          },
          "description": {
            "default": "",
            "title": "Description",
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "name"
        ],
        "title": "CreateProjectReq",
        "type": "object"
      },
      "UpdateProjectReq": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Name"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "subproject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Subproject"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Description"
          },
          "custom_domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Custom Domain"
          },
          "visibility": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Visibility"
          },
          "theme": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Theme"
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Password"
          }
        },
        "title": "UpdateProjectReq",
        "type": "object"
      },
      "CreateRedirectReq": {
        "properties": {
          "from_path": {
            "title": "From Path",
            "type": "string"
          },
          "to_path": {
            "title": "To Path",
            "type": "string"
          },
          "status_code": {
            "default": 301,
            "title": "Status Code",
            "type": "integer"
          }
        },
        "required": [
          "from_path",
          "to_path"
        ],
        "title": "CreateRedirectReq",
        "type": "object"
      },
      "CreatePageReq": {
        "properties": {
          "parent_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Parent Id"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Kind"
          },
          "content": {
            "default": "",
            "title": "Content",
            "type": "string"
          },
          "blocks": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Blocks"
          },
          "version_tag": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Version Tag"
          },
          "meta_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meta Title"
          },
          "meta_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meta Description"
          },
          "og_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Og Image"
          }
        },
        "required": [
          "title"
        ],
        "title": "CreatePageReq",
        "type": "object"
      },
      "UpdatePageReq": {
        "properties": {
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Title"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Kind"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Content"
          },
          "blocks": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Blocks"
          },
          "position": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Position"
          },
          "version_tag": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Version Tag"
          },
          "meta_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meta Title"
          },
          "meta_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meta Description"
          },
          "og_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Og Image"
          }
        },
        "title": "UpdatePageReq",
        "type": "object"
      },
      "RenderReq": {
        "properties": {
          "markdown": {
            "title": "Markdown",
            "type": "string"
          }
        },
        "required": [
          "markdown"
        ],
        "title": "RenderReq",
        "type": "object"
      },
      "ImportOpenApiReq": {
        "properties": {
          "spec": {
            "title": "Spec",
            "type": "string"
          }
        },
        "required": [
          "spec"
        ],
        "title": "ImportOpenApiReq",
        "type": "object"
      },
      "ImportCliReq": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "help_text": {
            "title": "Help Text",
            "type": "string"
          }
        },
        "required": [
          "name",
          "help_text"
        ],
        "title": "ImportCliReq",
        "type": "object"
      },
      "ImportGitReq": {
        "properties": {
          "repo": {
            "title": "Repo",
            "type": "string"
          },
          "ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Ref"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Path"
          }
        },
        "required": [
          "repo"
        ],
        "title": "ImportGitReq",
        "type": "object"
      },
      "EnrichReq": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "content": {
            "default": "",
            "title": "Content",
            "type": "string"
          },
          "instruction": {
            "default": "",
            "title": "Instruction",
            "type": "string"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "action"
        ],
        "title": "EnrichReq",
        "type": "object"
      },
      "UnlockReq": {
        "properties": {
          "password": {
            "title": "Password",
            "type": "string"
          }
        },
        "required": [
          "password"
        ],
        "title": "UnlockReq",
        "type": "object"
      },
      "ChatReq": {
        "properties": {
          "query": {
            "title": "Query",
            "type": "string"
          },
          "subproject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Subproject"
          },
          "version_tag": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Version Tag"
          }
        },
        "required": [
          "query"
        ],
        "title": "ChatReq",
        "type": "object"
      },
      "TrackReq": {
        "properties": {
          "project_slug": {
            "title": "Project Slug",
            "type": "string"
          },
          "page_slug": {
            "title": "Page Slug",
            "type": "string"
          },
          "referrer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Referrer"
          },
          "device": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Device"
          }
        },
        "required": [
          "project_slug",
          "page_slug"
        ],
        "title": "TrackReq",
        "type": "object"
      },
      "ProxyHeader": {
        "properties": {
          "key": {
            "title": "Key",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "title": "ProxyHeader",
        "type": "object"
      },
      "ProxyReq": {
        "properties": {
          "method": {
            "title": "Method",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          },
          "headers": {
            "default": [],
            "items": {
              "$ref": "#/$defs/ProxyHeader"
            },
            "title": "Headers",
            "type": "array"
          },
          "body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Body"
          }
        },
        "required": [
          "method",
          "url"
        ],
        "title": "ProxyReq",
        "type": "object"
      },
      "CreateTempCredsReq": {
        "properties": {
          "label": {
            "title": "Label",
            "type": "string"
          },
          "rate_limit": {
            "default": 60,
            "title": "Rate Limit",
            "type": "integer"
          },
          "expiry_hours": {
            "default": 24,
            "title": "Expiry Hours",
            "type": "integer"
          }
        },
        "required": [
          "label"
        ],
        "title": "CreateTempCredsReq",
        "type": "object"
      },
      "ProjectVersionReq": {
        "properties": {
          "version_tag": {
            "title": "Version Tag",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "is_default": {
            "default": false,
            "title": "Is Default",
            "type": "boolean"
          }
        },
        "required": [
          "version_tag",
          "label"
        ],
        "title": "ProjectVersionReq",
        "type": "object"
      },
      "PageFeedbackReq": {
        "properties": {
          "reaction": {
            "title": "Reaction",
            "type": "string"
          },
          "comment": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Comment"
          },
          "version_tag": {
            "default": "latest",
            "title": "Version Tag",
            "type": "string"
          }
        },
        "required": [
          "reaction"
        ],
        "title": "PageFeedbackReq",
        "type": "object"
      },
      "CreateInvitationReq": {
        "properties": {
          "email": {
            "title": "Email",
            "type": "string"
          },
          "role": {
            "default": "member",
            "title": "Role",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "title": "CreateInvitationReq",
        "type": "object"
      }
    }
  }
}