{
  "openapi": "3.1.0",
  "info": {
    "title": "Olibato REST API",
    "version": "1.0.0-beta",
    "description": "Manage serverl3ss namespaces, sites, deploys, app templates, organization resources, and persistent runtimes."
  },
  "paths": {
    "/": {
      "get": {
        "operationId": "getApiRoot",
        "description": "Reports whether this deployment exposes Olibato REST API v1.",
        "summary": "Get API availability",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiRootResponse"
                }
              }
            },
            "description": "Reports whether this deployment exposes Olibato REST API v1."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        }
      }
    },
    "/account": {
      "get": {
        "operationId": "getAccount",
        "description": "Returns the user represented by the bearer personal access token.",
        "summary": "Get the authenticated account",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountResponse"
                }
              }
            },
            "description": "Returns the user represented by the bearer personal access token."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/account/credits": {
      "get": {
        "operationId": "getAccountCredits",
        "description": "Returns the authenticated account\u2019s currently available prepaid credits.",
        "summary": "Get available credits",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCreditsResponse"
                }
              }
            },
            "description": "Returns the authenticated account\u2019s currently available prepaid credits."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/account/instances": {
      "get": {
        "operationId": "listAccountInstances",
        "description": "Returns cursor-paginated persistent instances owned by the account.",
        "summary": "List personal instances",
        "tags": [
          "Instances"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedInstanceList"
                }
              }
            },
            "description": "Returns cursor-paginated persistent instances owned by the account."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/account/tokens": {
      "get": {
        "operationId": "listTokens",
        "description": "Lists safe metadata for active, expired, and revoked personal access tokens.",
        "tags": [
          "Account"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokensResponse"
                }
              }
            },
            "description": "Personal access token metadata."
          }
        },
        "x-required-permission": "owner"
      },
      "post": {
        "operationId": "createToken",
        "description": "Creates a read, write, or owner token and reveals its complete value once.",
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTokenInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenCreatedResponse"
                }
              }
            },
            "description": "Personal access token created."
          }
        },
        "x-required-permission": "owner"
      }
    },
    "/account/tokens/{token_id}": {
      "delete": {
        "operationId": "deleteToken",
        "description": "Revokes a personal access token immediately while retaining its audit metadata.",
        "parameters": [
          {
            "in": "path",
            "name": "token_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Token id."
          }
        ],
        "tags": [
          "Account"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "No response body"
          }
        },
        "x-required-permission": "owner"
      }
    },
    "/app-templates": {
      "get": {
        "operationId": "listAppTemplates",
        "description": "List enabled curated app templates.",
        "summary": "List enabled curated app templates",
        "tags": [
          "App templates"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAppTemplateList"
                }
              }
            },
            "description": "List enabled curated app templates."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/app-templates/{template_slug}": {
      "get": {
        "operationId": "getAppTemplate",
        "description": "Get an app template and parameter schema.",
        "summary": "Get an app template and parameter schema",
        "parameters": [
          {
            "in": "path",
            "name": "template_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Template slug."
          }
        ],
        "tags": [
          "App templates"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppTemplate"
                }
              }
            },
            "description": "Get an app template and parameter schema."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/auth/registration": {
      "get": {
        "operationId": "getRegistration",
        "description": "Returns open-registration availability, legal versions, and verification timing.",
        "tags": [
          "Authentication"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrationMetadataResponse"
                }
              }
            },
            "description": "Current registration metadata."
          }
        }
      },
      "post": {
        "operationId": "registerAccount",
        "description": "Creates an inactive email-identified account and sends its verification challenge.",
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAccountInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrationAcceptedResponse"
                }
              }
            },
            "description": "Registration accepted; email verification is required."
          }
        }
      }
    },
    "/auth/registration/resend": {
      "post": {
        "operationId": "resendRegistrationVerification",
        "description": "Sends a replacement verification challenge without disclosing account existence.",
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            },
            "description": "The verification request was accepted."
          }
        }
      }
    },
    "/auth/registration/verify": {
      "post": {
        "operationId": "verifyRegistration",
        "description": "Activates an account and reveals its initial owner token once.",
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyRegistrationInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistrationVerifiedResponse"
                }
              }
            },
            "description": "Account activated and initial owner token created."
          }
        }
      }
    },
    "/auth/token-recovery": {
      "post": {
        "operationId": "requestTokenRecovery",
        "description": "Sends an owner-token recovery challenge without disclosing account existence.",
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            },
            "description": "The recovery request was accepted."
          }
        }
      }
    },
    "/auth/token-recovery/confirm": {
      "post": {
        "operationId": "confirmTokenRecovery",
        "description": "Consumes a mailbox recovery challenge and reveals a replacement owner token once.",
        "tags": [
          "Authentication"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmTokenRecoveryInputRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenCreatedResponse"
                }
              }
            },
            "description": "Replacement owner token created."
          }
        }
      }
    },
    "/host-availability": {
      "get": {
        "operationId": "checkHostAvailability",
        "description": "Check a namespace-local host before creation.",
        "summary": "Check a namespace-local host before creation",
        "parameters": [
          {
            "in": "query",
            "name": "host",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Host."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Check a namespace-local host before creation."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/instances/{instance_id}": {
      "get": {
        "operationId": "getInstance",
        "description": "Returns one persistent instance owned by the authenticated account.",
        "summary": "Get a personal instance",
        "parameters": [
          {
            "in": "path",
            "name": "instance_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric persistent instance identifier owned by the account."
          }
        ],
        "tags": [
          "Instances"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instance"
                }
              }
            },
            "description": "Returns one persistent instance owned by the authenticated account."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/instances/{instance_id}/actions/{action}": {
      "post": {
        "operationId": "controlInstance",
        "description": "Starts an asynchronous wake, suspend, reset, or delete lifecycle operation.",
        "summary": "Control a personal instance",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "action",
            "schema": {
              "type": "string",
              "enum": [
                "delete",
                "reset",
                "suspend",
                "wake"
              ]
            },
            "description": "Instance lifecycle action.",
            "required": true
          },
          {
            "in": "path",
            "name": "instance_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric persistent instance identifier owned by the account."
          }
        ],
        "tags": [
          "Instances"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "202": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instance"
                }
              }
            },
            "description": "Starts an asynchronous wake, suspend, reset, or delete lifecycle operation."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-async": true,
        "x-olibato-destructive-actions": [
          "reset",
          "delete"
        ],
        "x-required-permission": "write"
      }
    },
    "/instances/{instance_id}/kubernetes/{action}": {
      "post": {
        "operationId": "manageInstanceKubernetesAccess",
        "description": "prepare and kubeconfig-result take no body; issue-kubeconfig requires public_key_pem. Pending operations return 202 and should be polled.",
        "summary": "Manage Kubernetes access",
        "parameters": [
          {
            "in": "path",
            "name": "action",
            "schema": {
              "type": "string",
              "enum": [
                "issue-kubeconfig",
                "kubeconfig-result",
                "prepare"
              ]
            },
            "description": "Kubernetes access action controlling the conditional request and response.",
            "required": true
          },
          {
            "in": "path",
            "name": "instance_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric persistent instance identifier owned by the account."
          }
        ],
        "tags": [
          "Instances"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KubernetesActionRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesActionResponse"
                }
              }
            },
            "description": "prepare and kubeconfig-result take no body; issue-kubeconfig requires public_key_pem. Pending operations return 202 and should be polled."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KubernetesActionResponse"
                }
              }
            },
            "description": "prepare and kubeconfig-result take no body; issue-kubeconfig requires public_key_pem. Pending operations return 202 and should be polled."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "410": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "502": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-async": true,
        "x-required-permission": "write"
      }
    },
    "/organizations": {
      "get": {
        "operationId": "listOrganizations",
        "description": "Lists organizations and the authenticated user\u2019s role in each one.",
        "summary": "List organization memberships",
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsResponse"
                }
              }
            },
            "description": "Lists organizations and the authenticated user\u2019s role in each one."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}": {
      "get": {
        "operationId": "getOrganization",
        "description": "Returns one organization and the caller\u2019s role without changing dashboard context.",
        "summary": "Get an organization",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationListItemResponse"
                }
              }
            },
            "description": "Returns one organization and the caller\u2019s role without changing dashboard context."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "patch": {
        "operationId": "updateOrganization",
        "description": "Changes the organization name using optimistic concurrency.",
        "summary": "Update an organization",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Changes the organization name using optimistic concurrency."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/audit-events": {
      "get": {
        "operationId": "listAuditEvents",
        "description": "Returns sanitized organization audit events in cursor order.",
        "summary": "List audit events",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAuditList"
                }
              }
            },
            "description": "Returns sanitized organization audit events in cursor order."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}": {
      "get": {
        "operationId": "getBuild",
        "description": "Returns current and terminal state for one build attempt.",
        "summary": "Get a build",
        "parameters": [
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            },
            "description": "Returns current and terminal state for one build attempt."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}/actions/{action}": {
      "post": {
        "operationId": "controlBuild",
        "description": "Cancels an active attempt or queues a retry/resume of a terminal GitHub build.",
        "summary": "Control a build",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "action",
            "schema": {
              "type": "string",
              "enum": [
                "cancel",
                "resume",
                "retry"
              ]
            },
            "description": "Build control action.",
            "required": true
          },
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "202": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            },
            "description": "Cancels an active attempt or queues a retry/resume of a terminal GitHub build."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-async": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}/chat": {
      "get": {
        "operationId": "listBuildChat",
        "description": "Returns owner and agent messages associated with one build attempt.",
        "summary": "List build conversation messages",
        "parameters": [
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildChatResponse"
                }
              }
            },
            "description": "Returns owner and agent messages associated with one build attempt."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createBuildChatMessage",
        "description": "Adds an idempotent owner message to the build conversation.",
        "summary": "Add an owner build message",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBuildChatMessageRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildChatMessageResponse"
                }
              }
            },
            "description": "Adds an idempotent owner message to the build conversation."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}/events": {
      "get": {
        "operationId": "listBuildEvents",
        "description": "Returns ordered sanitized milestones for one build attempt.",
        "summary": "List durable build milestones",
        "parameters": [
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildEventsResponse"
                }
              }
            },
            "description": "Returns ordered sanitized milestones for one build attempt."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}/manifest": {
      "get": {
        "operationId": "getBuildManifest",
        "description": "Returns the sanitized configuration snapshot resolved by a completed version.",
        "summary": "Get the resolved build manifest",
        "parameters": [
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildManifestResponse"
                }
              }
            },
            "description": "Returns the sanitized configuration snapshot resolved by a completed version."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/builds/{build_id}/trace": {
      "get": {
        "operationId": "getBuildTrace",
        "description": "Combines build state, milestones, and retained agent-trace metadata.",
        "summary": "Get sanitized build diagnostics",
        "parameters": [
          {
            "in": "path",
            "name": "build_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric build-attempt identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildTraceResponse"
                }
              }
            },
            "description": "Combines build state, milestones, and retained agent-trace metadata."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}": {
      "get": {
        "operationId": "getImage",
        "description": "Returns one owner-managed image and its current ETag.",
        "summary": "Get an image",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "Returns one owner-managed image and its current ETag."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "patch": {
        "operationId": "updateImage",
        "description": "Partially updates mutable image metadata using optimistic concurrency.",
        "summary": "Update an image",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Images"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateImageRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "Partially updates mutable image metadata using optimistic concurrency."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteImage",
        "description": "Soft-deletes an unused image after build, instance, and Fleet safeguards pass.",
        "summary": "Soft-delete an image",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-destructive": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/builds": {
      "get": {
        "operationId": "listBuilds",
        "description": "Returns observable build attempts for an image in cursor order.",
        "summary": "List image builds",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedBuildList"
                }
              }
            },
            "description": "Returns observable build attempts for an image in cursor order."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "queueBuild",
        "description": "Queues an asynchronous build from GitHub or a ready local source upload.",
        "summary": "Queue an image build",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Builds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueueBuildJsonRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/QueueBuildMultipartRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "202": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            },
            "description": "Queues an asynchronous build from GitHub or a ready local source upload."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-async": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/source-uploads": {
      "get": {
        "operationId": "listSourceUploads",
        "description": "Returns metadata for committed local Git archives uploaded to an image.",
        "summary": "List local source uploads",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Sources"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSourceUploadList"
                }
              }
            },
            "description": "Returns metadata for committed local Git archives uploaded to an image."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "post": {
        "operationId": "createSourceUpload",
        "description": "Validates and stores a bounded committed Git archive for a local project.",
        "summary": "Upload committed local source",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Sources"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CreateSourceUploadRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceUpload"
                }
              }
            },
            "description": "Validates and stores a bounded committed Git archive for a local project."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/source-uploads/{upload_id}": {
      "get": {
        "operationId": "getSourceUpload",
        "description": "Returns metadata for an image-scoped local source upload.",
        "summary": "Get local source upload metadata",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "upload_id",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Opaque UUID of a local source upload belonging to the image."
          }
        ],
        "tags": [
          "Sources"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceUpload"
                }
              }
            },
            "description": "Returns metadata for an image-scoped local source upload."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteSourceUpload",
        "description": "Purges unconsumed source bytes while retaining audit metadata.",
        "summary": "Purge local source bytes",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "upload_id",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "Opaque UUID of a local source upload belonging to the image."
          }
        ],
        "tags": [
          "Sources"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-destructive": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/versions": {
      "get": {
        "operationId": "listVersions",
        "description": "Returns immutable versions for an image in cursor order.",
        "summary": "List image versions",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedVersionList"
                }
              }
            },
            "description": "Returns immutable versions for an image in cursor order."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/versions/{version_id}": {
      "get": {
        "operationId": "getVersion",
        "description": "Returns one immutable image-version artifact.",
        "summary": "Get an immutable version",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "version_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric immutable image-version identifier belonging to the image."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Version"
                }
              }
            },
            "description": "Returns one immutable image-version artifact."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/versions/{version_id}/activate": {
      "post": {
        "operationId": "activateImageVersion",
        "description": "Selects a healthy security-passed version followed by attached Fleets.",
        "summary": "Set the active image version",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "version_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric immutable image-version identifier belonging to the image."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "Selects a healthy security-passed version followed by attached Fleets."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/images/{image_id}/versions/{version_id}/egress": {
      "get": {
        "operationId": "getVersionEgress",
        "description": "Returns the immutable version\u2019s effective runtime network policy.",
        "summary": "Get version egress policy",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "version_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric immutable image-version identifier belonging to the image."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionEgressResponse"
                }
              }
            },
            "description": "Returns the immutable version\u2019s effective runtime network policy."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "put": {
        "operationId": "putVersionEgress",
        "description": "Validates and applies a runtime network policy to a healthy version.",
        "summary": "Set version egress policy",
        "parameters": [
          {
            "in": "path",
            "name": "image_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric owner-managed image identifier within the organization."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "version_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric immutable image-version identifier belonging to the image."
          }
        ],
        "tags": [
          "Images"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVersionEgressRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Version"
                }
              }
            },
            "description": "Validates and applies a runtime network policy to a healthy version."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/invitations": {
      "get": {
        "operationId": "listInvitations",
        "description": "Returns cursor-paginated organization invitations.",
        "summary": "List invitations",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedInvitationList"
                }
              }
            },
            "description": "Returns cursor-paginated organization invitations."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createInvitation",
        "description": "Creates and attempts to deliver an idempotent organization invitation.",
        "summary": "Invite an organization member",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvitationRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationCreatedResponse"
                }
              }
            },
            "description": "Creates and attempts to deliver an idempotent organization invitation."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/invitations/{invitation_id}": {
      "delete": {
        "operationId": "revokeInvitation",
        "description": "Revokes an unaccepted organization invitation.",
        "summary": "Revoke an invitation",
        "parameters": [
          {
            "in": "path",
            "name": "invitation_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric organization-invitation identifier."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/members": {
      "get": {
        "operationId": "listMembers",
        "description": "Returns the organization roster in cursor order.",
        "summary": "List organization members",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedMembershipList"
                }
              }
            },
            "description": "Returns the organization roster in cursor order."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/members/{member_id}": {
      "patch": {
        "operationId": "updateMember",
        "description": "Changes a member role while preserving owner and last-owner safeguards.",
        "summary": "Change a member role",
        "parameters": [
          {
            "in": "path",
            "name": "member_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric organization-membership identifier."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMemberRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Membership"
                }
              }
            },
            "description": "Changes a member role while preserving owner and last-owner safeguards."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "removeMember",
        "description": "Removes a membership while preserving owner and last-owner safeguards.",
        "summary": "Remove a member",
        "parameters": [
          {
            "in": "path",
            "name": "member_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric organization-membership identifier."
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/projects": {
      "get": {
        "operationId": "listProjects",
        "description": "Returns GitHub and local Git source projects.",
        "summary": "List source projects",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedRepositoryList"
                }
              }
            },
            "description": "Returns GitHub and local Git source projects."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createLocalProject",
        "description": "Creates a local Git project together with its first single-shared-site image.",
        "summary": "Create a local source project",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocalProjectRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalProjectCreatedResponse"
                }
              }
            },
            "description": "Creates a local Git project together with its first single-shared-site image."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories": {
      "get": {
        "operationId": "listRepositories",
        "description": "Returns connected, non-deleted source repositories.",
        "summary": "List repositories",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedRepositoryList"
                }
              }
            },
            "description": "Returns connected, non-deleted source repositories."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "connectRepository",
        "description": "Connects or restores a GitHub repository using a canonical HTTPS URL.",
        "summary": "Connect a GitHub repository",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectRepositoryRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Connects or restores a GitHub repository using a canonical HTTPS URL."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}": {
      "get": {
        "operationId": "getRepository",
        "description": "Returns one non-deleted repository and its current ETag.",
        "summary": "Get a repository",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Returns one non-deleted repository and its current ETag."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "patch": {
        "operationId": "updateRepository",
        "description": "Partially updates repository and Fleet settings using optimistic concurrency.",
        "summary": "Update a repository",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepositoryRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Partially updates repository and Fleet settings using optimistic concurrency."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteRepository",
        "description": "Soft-deletes the repository and its images after active-work safeguards pass.",
        "summary": "Soft-delete a repository",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-destructive": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/fleet": {
      "get": {
        "operationId": "getFleet",
        "description": "Returns repository-backed Fleet limits and active image selection.",
        "summary": "Get Fleet configuration",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Returns repository-backed Fleet limits and active image selection."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "put": {
        "operationId": "putFleet",
        "description": "Replaces all mutable Fleet settings using optimistic concurrency.",
        "summary": "Replace Fleet configuration",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceFleetRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Replaces all mutable Fleet settings using optimistic concurrency."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "patch": {
        "operationId": "updateFleet",
        "description": "Partially updates Fleet settings using optimistic concurrency.",
        "summary": "Update Fleet configuration",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepositoryRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Partially updates Fleet settings using optimistic concurrency."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteFleet",
        "description": "Disables launches and detaches the active image using optimistic concurrency.",
        "summary": "Deactivate the Fleet",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            },
            "description": "ETag returned by the resource. Missing or stale values fail.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-destructive": true,
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/fleet/activate": {
      "post": {
        "operationId": "activateFleet",
        "description": "Attaches an image; the Fleet subsequently follows that image\u2019s active version.",
        "summary": "Attach an image to the Fleet",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivateFleetRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              },
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "Opaque current resource version for a later If-Match request."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Repository"
                }
              }
            },
            "description": "Attaches an image; the Fleet subsequently follows that image\u2019s active version."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/fleet/instances": {
      "get": {
        "operationId": "listFleetInstances",
        "description": "Returns cursor-paginated instances created from this Fleet.",
        "summary": "List Fleet instances",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedInstanceList"
                }
              }
            },
            "description": "Returns cursor-paginated instances created from this Fleet."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/fleet/runtime-secrets": {
      "get": {
        "operationId": "listFleetRuntimeSecrets",
        "description": "Lists active-image secret requirements without returning plaintext values.",
        "summary": "List masked Fleet secret requirements",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FleetRuntimeSecretsResponse"
                }
              }
            },
            "description": "Lists active-image secret requirements without returning plaintext values."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "put": {
        "operationId": "putFleetRuntimeSecret",
        "description": "Encrypts a Fleet-specific value for a secret declared by the active image.",
        "summary": "Create or rotate a Fleet secret",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Fleets"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutFleetRuntimeSecretRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FleetRuntimeSecretUpdatedResponse"
                }
              }
            },
            "description": "Encrypts a Fleet-specific value for a secret declared by the active image."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/github-installation": {
      "post": {
        "operationId": "createGitHubInstallationHandoff",
        "description": "Returns a short-lived installation URL completed in the authenticated browser.",
        "summary": "Create a GitHub App browser handoff",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitHubInstallationResponse"
                }
              }
            },
            "description": "Returns a short-lived installation URL completed in the authenticated browser."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/hard-purge": {
      "post": {
        "operationId": "hardPurgeRepository",
        "description": "Permanently purges eligible disabled repository data after exact confirmation.",
        "summary": "Irreversibly purge repository data",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HardPurgeRepositoryRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HardPurgeResponse"
                }
              }
            },
            "description": "Permanently purges eligible disabled repository data after exact confirmation."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-olibato-destructive": true,
        "x-olibato-irreversible": true,
        "x-required-permission": "owner"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/images": {
      "get": {
        "operationId": "listImages",
        "description": "Returns non-deleted images whose primary source is this repository.",
        "summary": "List repository images",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Images"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedImageList"
                }
              }
            },
            "description": "Returns non-deleted images whose primary source is this repository."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createImage",
        "description": "Creates a build configuration from a repository branch or versioned OCI image.",
        "summary": "Create an image",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Images"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImageRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "Creates a build configuration from a repository branch or versioned OCI image."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/repositories/{repository_id}/review": {
      "post": {
        "operationId": "reviewRepository",
        "description": "Runs and records the repository eligibility review for a GitHub project.",
        "summary": "Review repository eligibility",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable key for one logical mutation. Reusing the key with different input returns 409.",
            "required": true
          },
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "repository_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Numeric source repository identifier within the organization."
          }
        ],
        "tags": [
          "Repositories"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "headers": {
              "Idempotency-Replayed": {
                "schema": {
                  "type": "string"
                },
                "description": "Present with value true when a stored idempotent response was replayed."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepositoryReviewResponse"
                }
              }
            },
            "description": "Runs and records the repository eligibility review for a GitHub project."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/secrets": {
      "get": {
        "operationId": "listSecrets",
        "description": "Lists secret names and timestamps; secret values are never returned.",
        "summary": "List secret metadata",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSecretMetadataList"
                }
              }
            },
            "description": "Lists secret names and timestamps; secret values are never returned."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/organizations/{organization_slug}/secrets/{secret_name}": {
      "put": {
        "operationId": "putSecret",
        "description": "Encrypts a new organization default or rotates its write-only value.",
        "summary": "Create or rotate a secret",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "secret_name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Owner-scoped secret name, such as owner/database."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSecretRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretMetadata"
                }
              }
            },
            "description": "Encrypts a new organization default or rotates its write-only value."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteSecret",
        "description": "Deletes an unused organization secret default.",
        "summary": "Delete a secret",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          },
          {
            "in": "path",
            "name": "secret_name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Owner-scoped secret name, such as owner/database."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed without a response body."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/organizations/{organization_slug}/usage": {
      "get": {
        "operationId": "listUsage",
        "description": "Returns a cursor page of usage ledger entries plus filtered totals.",
        "summary": "List usage and totals",
        "parameters": [
          {
            "in": "path",
            "name": "organization_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Explicit organization boundary; it does not change dashboard context."
          }
        ],
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsagePageResponse"
                }
              }
            },
            "description": "Returns a cursor page of usage ledger entries plus filtered totals."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            },
            "description": "RFC 9457 problem detail with a stable Olibato code."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites": {
      "get": {
        "operationId": "listSites",
        "description": "List sites across accessible namespaces.",
        "summary": "List sites across accessible namespaces",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSiteList"
                }
              }
            },
            "description": "List sites across accessible namespaces."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createSite",
        "description": "Create a named site.",
        "summary": "Create a named site",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSiteInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            },
            "description": "Create a named site."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}": {
      "get": {
        "operationId": "getSite",
        "description": "Get a site.",
        "summary": "Get a site",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            },
            "description": "Get a site."
          }
        },
        "x-required-permission": "read"
      },
      "patch": {
        "operationId": "updateSite",
        "description": "Update access or idle policy.",
        "summary": "Update access or idle policy",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSiteInputRequest"
              }
            }
          }
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            },
            "description": "Update access or idle policy."
          }
        },
        "x-required-permission": "write"
      },
      "delete": {
        "operationId": "deleteSite",
        "description": "Soft-delete and tear down a site.",
        "summary": "Soft-delete and tear down a site",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Soft-delete and tear down a site."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Soft-delete and tear down a site."
          }
        },
        "x-required-permission": "owner"
      }
    },
    "/sites/{site_slug}/access": {
      "patch": {
        "operationId": "updateSiteAccess",
        "description": "Set public or authenticated site access.",
        "summary": "Set public or authenticated site access",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSiteAccessInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            },
            "description": "Set public or authenticated site access."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/deploys": {
      "get": {
        "operationId": "listSiteDeploys",
        "description": "List site deploy attempts.",
        "summary": "List site deploy attempts",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedBuildList"
                }
              }
            },
            "description": "List site deploy attempts."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createSiteDeploy",
        "description": "Deploy from a container, repository, source upload, or app template.",
        "summary": "Deploy from a container, repository, source upload, or app template",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeploySiteInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            },
            "description": "Deploy from a container, repository, source upload, or app template."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/deploys/{deploy_id}": {
      "get": {
        "operationId": "getSiteDeploy",
        "description": "Get site deploy status.",
        "summary": "Get site deploy status",
        "parameters": [
          {
            "in": "path",
            "name": "deploy_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Deploy id."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            },
            "description": "Get site deploy status."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites/{site_slug}/deploys/{deploy_id}/actions/{action}": {
      "post": {
        "operationId": "controlSiteDeploy",
        "description": "Retry, cancel, or activate a deploy.",
        "summary": "Retry, cancel, or activate a deploy",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "path",
            "name": "action",
            "schema": {
              "type": "string",
              "enum": [
                "activate",
                "cancel",
                "retry"
              ]
            },
            "required": true,
            "description": "Action."
          },
          {
            "in": "path",
            "name": "deploy_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Deploy id."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Retry, cancel, or activate a deploy."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Retry, cancel, or activate a deploy."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/deploys/{deploy_id}/events": {
      "get": {
        "operationId": "streamSiteDeployEvents",
        "description": "Stream durable deploy events as SSE.",
        "summary": "Stream durable deploy events as SSE",
        "parameters": [
          {
            "in": "path",
            "name": "deploy_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Deploy id."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "text/event-stream build events."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites/{site_slug}/deploys/{deploy_id}/manifest": {
      "get": {
        "operationId": "getSiteDeployManifest",
        "description": "Get the supplied or resolved deploy manifest.",
        "summary": "Get the supplied or resolved deploy manifest",
        "parameters": [
          {
            "in": "path",
            "name": "deploy_id",
            "schema": {
              "type": "integer"
            },
            "required": true,
            "description": "Deploy id."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Get the supplied or resolved deploy manifest."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites/{site_slug}/domains": {
      "get": {
        "operationId": "listSiteDomains",
        "description": "List custom domains and DNS state.",
        "summary": "List custom domains and DNS state",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedCustomDomainList"
                }
              }
            },
            "description": "List custom domains and DNS state."
          }
        },
        "x-required-permission": "read"
      },
      "post": {
        "operationId": "createSiteDomain",
        "description": "Attach a custom domain and return DNS instructions.",
        "summary": "Attach a custom domain and return DNS instructions",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomDomainInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Attach a custom domain and return DNS instructions."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/domains/{domain}": {
      "get": {
        "operationId": "getSiteDomain",
        "description": "Get custom-domain status.",
        "summary": "Get custom-domain status",
        "parameters": [
          {
            "in": "path",
            "name": "domain",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Domain."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Get custom-domain status."
          }
        },
        "x-required-permission": "read"
      },
      "delete": {
        "operationId": "deleteSiteDomain",
        "description": "Remove a custom-domain route and certificate.",
        "summary": "Remove a custom-domain route and certificate",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "path",
            "name": "domain",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Domain."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "204": {
            "description": "No response body"
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/domains/{domain}/verify": {
      "post": {
        "operationId": "verifySiteDomain",
        "description": "Verify public TXT and CNAME or A records.",
        "summary": "Verify public TXT and CNAME or A records",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "path",
            "name": "domain",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Domain."
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomDomain"
                }
              }
            },
            "description": "Verify public TXT and CNAME or A records."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/logs": {
      "get": {
        "operationId": "getSiteLogs",
        "description": "Get bounded build and runtime logs.",
        "summary": "Get bounded build and runtime logs",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Get bounded build and runtime logs."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites/{site_slug}/source-uploads": {
      "get": {
        "operationId": "listSiteSourceUploads",
        "description": "List local source uploads for a site.",
        "summary": "List local source uploads for a site",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSourceUploadList"
                }
              }
            },
            "description": "List local source uploads for a site."
          }
        },
        "x-required-permission": "write"
      },
      "post": {
        "operationId": "createSiteSourceUpload",
        "description": "Upload committed local source for a site.",
        "summary": "Upload committed local source for a site",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CreateSourceUploadRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceUpload"
                }
              }
            },
            "description": "Upload committed local source for a site."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/status": {
      "get": {
        "operationId": "getSiteStatus",
        "description": "Get site lifecycle and deploy status.",
        "summary": "Get site lifecycle and deploy status",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            },
            "description": "Get site lifecycle and deploy status."
          }
        },
        "x-required-permission": "read"
      }
    },
    "/sites/{site_slug}/tcp-access": {
      "post": {
        "operationId": "grantSiteTCPAccess",
        "description": "Grant the caller IP temporary TCP service access.",
        "summary": "Grant the caller IP temporary TCP service access",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "type": "string"
            },
            "description": "Stable identifier for one logical mutation.",
            "required": true
          },
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantSiteTCPAccessInputRequest"
              }
            }
          },
          "required": true
        },
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Grant the caller IP temporary TCP service access."
          }
        },
        "x-required-permission": "write"
      }
    },
    "/sites/{site_slug}/usage": {
      "get": {
        "operationId": "getSiteUsage",
        "description": "Get monthly site usage.",
        "summary": "Get monthly site usage",
        "parameters": [
          {
            "in": "query",
            "name": "namespace",
            "schema": {
              "type": "string"
            },
            "description": "Personal (default), the caller username, or an organization slug."
          },
          {
            "in": "path",
            "name": "site_slug",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Site slug."
          }
        ],
        "tags": [
          "Sites"
        ],
        "security": [
          {
            "personalAccessToken": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "description": "Get monthly site usage."
          }
        },
        "x-required-permission": "read"
      }
    }
  },
  "components": {
    "schemas": {
      "AcceptedResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/AcceptedStatus",
            "description": "Current resource state."
          }
        },
        "required": [
          "status"
        ],
        "additionalProperties": false
      },
      "AcceptedStatus": {
        "enum": [
          "accepted"
        ],
        "type": "string",
        "description": "* `accepted` - accepted"
      },
      "AccessEnum": {
        "enum": [
          "public",
          "authenticated"
        ],
        "type": "string",
        "description": "* `public` - public\n* `authenticated` - authenticated"
      },
      "AccountCreditsResponse": {
        "type": "object",
        "properties": {
          "available_credits": {
            "type": "integer",
            "description": "Available abstract prepaid credits."
          }
        },
        "required": [
          "available_credits"
        ],
        "additionalProperties": false
      },
      "AccountResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Authenticated user identifier."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Authenticated account email address."
          },
          "organizations_url": {
            "type": "string",
            "format": "uri",
            "description": "Absolute organization-membership collection URL."
          }
        },
        "required": [
          "email",
          "id",
          "organizations_url"
        ],
        "additionalProperties": false
      },
      "ActionEnum": {
        "enum": [
          "repo_created",
          "repo_review_approved",
          "repo_review_rejected",
          "repo_review_error",
          "repo_updated",
          "repo_disabled",
          "repo_enabled",
          "repo_abuse_suspended",
          "repo_abuse_resumed",
          "account_abuse_suspended",
          "account_abuse_resumed",
          "demo_created",
          "demo_deleted",
          "build_queued",
          "build_cancelled",
          "build_retried",
          "build_resumed",
          "version_built",
          "version_published",
          "version_superseded",
          "version_failed",
          "version_security_passed",
          "version_security_failed",
          "version_egress_reviewed",
          "instance_launched",
          "instance_sleeping",
          "instance_waking",
          "instance_reset",
          "instance_expired",
          "instance_deleted",
          "instance_failed",
          "instance_cleanup_required",
          "instance_cleanup_retry",
          "instance_cleanup_verified",
          "site_access_changed",
          "tcp_access_granted",
          "billing_limit_changed",
          "privacy_hard_purged"
        ],
        "type": "string",
        "description": "* `repo_created` - Repository Created\n* `repo_review_approved` - Repository Review Approved\n* `repo_review_rejected` - Repository Review Rejected\n* `repo_review_error` - Repository Review Retry Scheduled\n* `repo_updated` - Repository Updated\n* `repo_disabled` - Repository Disabled\n* `repo_enabled` - Repository Enabled\n* `repo_abuse_suspended` - Repository Emergency Suspended\n* `repo_abuse_resumed` - Repository Emergency Resumed\n* `account_abuse_suspended` - Account Emergency Suspended\n* `account_abuse_resumed` - Account Emergency Resumed\n* `demo_created` - Demo Created\n* `demo_deleted` - Demo Deleted\n* `build_queued` - Build Queued\n* `build_cancelled` - Build Cancelled\n* `build_retried` - Build Retried\n* `build_resumed` - Build Resumed\n* `version_built` - Version Built\n* `version_published` - Version Published\n* `version_superseded` - Version Removed from Ready Images\n* `version_failed` - Version Failed\n* `version_security_passed` - Version Security Scan Passed\n* `version_security_failed` - Version Security Scan Failed\n* `version_egress_reviewed` - Version Egress Reviewed\n* `instance_launched` - Instance Launched\n* `instance_sleeping` - Instance Sleeping\n* `instance_waking` - Instance Waking\n* `instance_reset` - Instance Reset\n* `instance_expired` - Instance Expired\n* `instance_deleted` - Instance Deleted\n* `instance_failed` - Instance Failed\n* `instance_cleanup_required` - Instance Cleanup Required\n* `instance_cleanup_retry` - Instance Cleanup Retry Requested\n* `instance_cleanup_verified` - Instance Cleanup Verified\n* `site_access_changed` - Site Access Changed\n* `tcp_access_granted` - TCP Access Granted\n* `billing_limit_changed` - Billing Limit Changed\n* `privacy_hard_purged` - Privacy Hard Purge Completed"
      },
      "ActivateFleetRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "image_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Image from this repository to attach to the Fleet."
          }
        },
        "required": [
          "image_id"
        ],
        "additionalProperties": false
      },
      "AgentTraceResponse": {
        "type": "object",
        "properties": {
          "sha256": {
            "description": "Trace SHA-256 digest.",
            "oneOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-f]{64}$"
              },
              {
                "type": "string",
                "maxLength": 0
              }
            ]
          },
          "size_bytes": {
            "type": "integer",
            "description": "Sanitized trace size in bytes."
          },
          "event_count": {
            "type": "integer",
            "description": "Number of retained trace events."
          },
          "truncated": {
            "type": "boolean",
            "description": "Whether trace retention reached its bound."
          },
          "summary": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Sanitized provider-specific trace summary; keys vary by Agent run."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Trace completion time."
          }
        },
        "required": [
          "completed_at",
          "event_count",
          "sha256",
          "size_bytes",
          "summary",
          "truncated"
        ],
        "additionalProperties": false
      },
      "AlgorithmEnum": {
        "enum": [
          "RSA-OAEP-SHA256+A256GCM"
        ],
        "type": "string",
        "description": "* `RSA-OAEP-SHA256+A256GCM` - RSA-OAEP-SHA256+A256GCM"
      },
      "ApiRootResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "API product name."
          },
          "version": {
            "type": "string",
            "description": "Major API version."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApiRootResponseStatusEnum"
              }
            ],
            "description": "API availability state.\n\n* `available` - available"
          },
          "authentication": {
            "type": "string",
            "description": "Required authentication mechanism."
          },
          "registration": {
            "type": "string",
            "format": "uri",
            "description": "Public account registration endpoint."
          },
          "documentation": {
            "type": "string",
            "format": "uri",
            "description": "Canonical API documentation URL."
          },
          "llm_documentation": {
            "type": "string",
            "format": "uri",
            "description": "Agent-oriented Markdown API guide."
          }
        },
        "required": [
          "authentication",
          "documentation",
          "llm_documentation",
          "name",
          "registration",
          "status",
          "version"
        ],
        "additionalProperties": false
      },
      "ApiRootResponseStatusEnum": {
        "enum": [
          "available"
        ],
        "type": "string",
        "description": "* `available` - available"
      },
      "AppTemplate": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "readOnly": true,
            "pattern": "^[-a-zA-Z0-9_]+$",
            "description": "Stable URL-safe resource slug."
          },
          "display_name": {
            "type": "string",
            "readOnly": true,
            "description": "Display name."
          },
          "category": {
            "type": "string",
            "readOnly": true,
            "description": "Category."
          },
          "default_version": {
            "type": "string",
            "readOnly": true,
            "description": "Default version."
          },
          "params_schema": {
            "readOnly": true,
            "description": "Params schema."
          },
          "default_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DefaultAccessEnum"
              }
            ],
            "readOnly": true,
            "description": "Default access."
          },
          "license_spdx": {
            "type": "string",
            "readOnly": true,
            "description": "License spdx."
          },
          "docs_url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "description": "Docs url."
          },
          "icon": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "description": "Icon."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "category",
          "default_access",
          "default_version",
          "display_name",
          "docs_url",
          "icon",
          "license_spdx",
          "params_schema",
          "slug",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "Audit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "repository_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Image associated with the resource; retained under the legacy database field name."
          },
          "instance_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Runtime instance associated with this record."
          },
          "actor_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Null for system-initiated actions.",
            "readOnly": true
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionEnum"
              }
            ],
            "readOnly": true,
            "description": "Action."
          },
          "details": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Sanitized action-specific audit details; keys vary by audit action.",
            "readOnly": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Timestamp."
          }
        },
        "required": [
          "action",
          "actor_id",
          "demo_id",
          "details",
          "id",
          "instance_id",
          "repository_id",
          "timestamp"
        ],
        "additionalProperties": false
      },
      "Build": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "repository_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Image associated with the resource; retained under the legacy database field name."
          },
          "version_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Immutable image-version artifact associated with the resource."
          },
          "commit_sha": {
            "type": "string",
            "readOnly": true,
            "description": "Commit sha."
          },
          "source_kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceKindEnum"
              }
            ],
            "readOnly": true,
            "description": "Source kind."
          },
          "source_digest": {
            "type": "string",
            "readOnly": true,
            "description": "Source digest."
          },
          "source_upload_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Local Git source upload consumed by the build, when applicable."
          },
          "attempt": {
            "type": "integer",
            "readOnly": true,
            "description": "Attempt."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Current resource state."
          },
          "input_snapshot": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildInputSnapshot"
              }
            ],
            "readOnly": true,
            "description": "Sanitized, structured inputs captured when the build was queued."
          },
          "result_summary": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Sanitized outcome-specific build result; keys vary by terminal state and provider.",
            "readOnly": true
          },
          "resource_usage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildResourceUsage"
              }
            ],
            "readOnly": true,
            "description": "Structured host and sandbox resource telemetry for the build."
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Started at."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Completed at."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "cancel_requested_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Owner cancellation request observed cooperatively by the Agent."
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Cancelled at."
          },
          "resumed_from_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Earlier immutable attempt this run retries or resumes.",
            "readOnly": true
          }
        },
        "required": [
          "attempt",
          "cancel_requested_at",
          "cancelled_at",
          "commit_sha",
          "completed_at",
          "created_at",
          "demo_id",
          "id",
          "input_snapshot",
          "repository_id",
          "resource_usage",
          "result_summary",
          "resumed_from_id",
          "source_digest",
          "source_kind",
          "source_upload_id",
          "started_at",
          "status",
          "version_id"
        ],
        "additionalProperties": false
      },
      "BuildChatContext": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Owner-message identifier."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildChatContextRoleEnum"
              }
            ],
            "description": "Message author role included in build context.\n\n* `owner` - owner"
          },
          "body": {
            "type": "string",
            "description": "Bounded owner-message text."
          },
          "attached_file_refs": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "description": "SHA-256 references used by this message."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Message creation time."
          },
          "run_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Earlier build associated with the message, if any."
          }
        },
        "required": [
          "attached_file_refs",
          "body",
          "created_at",
          "id",
          "role",
          "run_id"
        ],
        "additionalProperties": false
      },
      "BuildChatContextRoleEnum": {
        "enum": [
          "owner"
        ],
        "type": "string",
        "description": "* `owner` - owner"
      },
      "BuildChatMessageResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Conversation message identifier."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildMessageRole"
              }
            ],
            "description": "Message author role.\n\n* `owner` - Owner\n* `agent` - Agent"
          },
          "body": {
            "type": "string",
            "description": "Message text."
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "description": "SHA-256 references for sanitized owner attachments."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Message creation time."
          }
        },
        "required": [
          "body",
          "created_at",
          "id",
          "role"
        ],
        "additionalProperties": false
      },
      "BuildChatResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildChatMessageResponse"
            },
            "description": "Build conversation messages."
          }
        },
        "required": [
          "results"
        ],
        "additionalProperties": false
      },
      "BuildConfig": {
        "additionalProperties": false,
        "properties": {
          "steps": {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 100,
            "title": "Steps",
            "type": "array",
            "description": "Steps."
          }
        },
        "title": "BuildConfig",
        "type": "object"
      },
      "BuildEventResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Durable build-step identifier."
          },
          "key": {
            "type": "string",
            "description": "Stable milestone key.",
            "pattern": "^[-a-zA-Z0-9_]+$"
          },
          "label": {
            "type": "string",
            "description": "Human-readable milestone label."
          },
          "position": {
            "type": "integer",
            "description": "Milestone ordering position."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildEventResponseStatusEnum"
              }
            ],
            "description": "Milestone state.\n\n* `queued` - Queued\n* `running` - Running\n* `succeeded` - Succeeded\n* `failed` - Failed\n* `skipped` - Skipped"
          },
          "summary": {
            "type": "string",
            "description": "Sanitized milestone summary."
          },
          "details": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Sanitized milestone-specific details; keys vary by milestone."
          },
          "started_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Milestone start time."
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Milestone completion time."
          }
        },
        "required": [
          "completed_at",
          "details",
          "key",
          "label",
          "position",
          "started_at",
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "BuildEventResponseStatusEnum": {
        "enum": [
          "queued",
          "running",
          "succeeded",
          "failed",
          "skipped"
        ],
        "type": "string",
        "description": "* `queued` - Queued\n* `running` - Running\n* `succeeded` - Succeeded\n* `failed` - Failed\n* `skipped` - Skipped"
      },
      "BuildEventsResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildEventResponse"
            },
            "description": "Ordered durable build milestones."
          }
        },
        "required": [
          "results"
        ],
        "additionalProperties": false
      },
      "BuildFileContext": {
        "type": "object",
        "properties": {
          "sha256": {
            "type": "string",
            "description": "Attachment content digest.",
            "pattern": "^[0-9a-f]{64}$"
          },
          "name": {
            "type": "string",
            "description": "Sanitized original filename."
          },
          "content_type": {
            "type": "string",
            "description": "Validated attachment media type."
          },
          "size_bytes": {
            "type": "integer",
            "description": "Attachment size in bytes."
          }
        },
        "required": [
          "content_type",
          "name",
          "sha256",
          "size_bytes"
        ],
        "additionalProperties": false
      },
      "BuildInputSnapshot": {
        "type": "object",
        "properties": {
          "repository_url": {
            "type": "string",
            "description": "Canonical GitHub URL, or blank for a local Git source."
          },
          "demo_id": {
            "type": "integer",
            "description": "Image identifier retained under the legacy build-input key."
          },
          "demo_slug": {
            "type": "string",
            "description": "Image slug at queue time.",
            "pattern": "^[-a-zA-Z0-9_]+$"
          },
          "commit_sha": {
            "type": "string",
            "description": "Exact source commit SHA.",
            "pattern": "^[0-9a-f]{40}([0-9a-f]{24})?$"
          },
          "source_kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceKindEnum"
              }
            ],
            "description": "Source transport used by the build.\n\n* `github` - GitHub\n* `local_git` - Local Git upload"
          },
          "source_digest": {
            "type": "string",
            "description": "Canonical local-source digest, when applicable."
          },
          "source_upload_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Local source-upload identifier, when applicable."
          },
          "source_provenance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceProvenanceEnum"
              }
            ],
            "description": "Account-authorized source provenance.\n\n* `github` - github\n* `account_upload` - account_upload"
          },
          "source_ref": {
            "type": "string",
            "description": "Branch or tag resolved for the build."
          },
          "config_path": {
            "type": "string",
            "description": "Repository-relative manifest path or detection hint."
          },
          "image_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageSourceEnum"
              }
            ],
            "description": "Image build source selected at queue time.\n\n* `repository` - Build from repository\n* `local_upload` - Build from local Git upload\n* `registry` - Use official registry image"
          },
          "registry_image": {
            "type": "string",
            "description": "Pinned registry image reference, when selected."
          },
          "analyzer_enabled": {
            "type": "boolean",
            "description": "Whether Agent manifest analysis was enabled."
          },
          "force": {
            "type": "boolean",
            "description": "Whether the build bypassed reusable-result selection."
          },
          "control_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ControlModeEnum"
              }
            ],
            "description": "Build-control mode that created this attempt.\n\n* `new` - new\n* `retry` - retry\n* `resume` - resume\n* `agent_repair` - agent_repair\n* `f19_benchmark` - f19_benchmark"
          },
          "repair_context": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Sanitized prior-failure context; keys vary by failed stage."
          },
          "repair_depth": {
            "type": "integer",
            "description": "Number of repair attempts preceding this build."
          },
          "build_instructions": {
            "type": "string",
            "description": "Bounded owner build instructions."
          },
          "chat_thread": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildChatContext"
            },
            "description": "Bounded owner conversation supplied to the Agent."
          },
          "chat_file_refs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildFileContext"
            },
            "description": "Sanitized attachment metadata supplied to the Agent."
          },
          "resumed_from_run_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Earlier build identifier resumed by this attempt."
          },
          "manifest": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DemoManifestSchema"
              },
              {
                "type": "null"
              }
            ],
            "description": "Strict manifest supplied with the deploy request, if any."
          }
        },
        "required": [
          "analyzer_enabled",
          "build_instructions",
          "chat_file_refs",
          "chat_thread",
          "commit_sha",
          "config_path",
          "control_mode",
          "demo_id",
          "demo_slug",
          "force",
          "image_source",
          "manifest",
          "registry_image",
          "repair_context",
          "repair_depth",
          "repository_url",
          "resumed_from_run_id",
          "source_digest",
          "source_kind",
          "source_provenance",
          "source_ref",
          "source_upload_id"
        ],
        "additionalProperties": false
      },
      "BuildManifestResponse": {
        "type": "object",
        "properties": {
          "build_id": {
            "type": "integer",
            "description": "Build whose resolved manifest is returned."
          },
          "manifest": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DemoManifestSchema"
              }
            ],
            "description": "Sanitized, validated Olibato deployment manifest."
          }
        },
        "required": [
          "build_id",
          "manifest"
        ],
        "additionalProperties": false
      },
      "BuildMessageRole": {
        "enum": [
          "owner",
          "agent"
        ],
        "type": "string",
        "description": "* `owner` - Owner\n* `agent` - Agent"
      },
      "BuildResourceUsage": {
        "type": "object",
        "properties": {
          "schema_version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SchemaVersionEnum"
              }
            ],
            "description": "Resource-telemetry schema version.\n\n* `1` - 1"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildResourceUsageStatusEnum"
              }
            ],
            "description": "Telemetry collection state.\n\n* `sampling` - sampling\n* `complete` - complete"
          },
          "build_status": {
            "type": "string",
            "description": "Build state captured when telemetry completed."
          },
          "sampling_interval_seconds": {
            "type": "number",
            "format": "double",
            "description": "Target interval between samples in seconds."
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "description": "Telemetry collection start time."
          },
          "observed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Most recent sample time."
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "description": "Telemetry collection completion time."
          },
          "sample_count": {
            "type": "integer",
            "description": "Number of attempted samples."
          },
          "read_errors": {
            "type": "integer",
            "description": "Metric reads that failed without affecting the build."
          },
          "host": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HostResourceUsage"
              }
            ],
            "description": "Sanitized host-level observations."
          },
          "sandbox": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SandboxResourceUsage"
              },
              {
                "type": "null"
              }
            ],
            "description": "Per-attempt sandbox observations, once attached."
          }
        },
        "required": [
          "host",
          "observed_at",
          "read_errors",
          "sample_count",
          "sampling_interval_seconds",
          "sandbox",
          "schema_version",
          "started_at",
          "status"
        ],
        "additionalProperties": false
      },
      "BuildResourceUsageStatusEnum": {
        "enum": [
          "sampling",
          "complete"
        ],
        "type": "string",
        "description": "* `sampling` - sampling\n* `complete` - complete"
      },
      "BuildStatusEnum": {
        "enum": [
          "queued",
          "running",
          "succeeded",
          "failed",
          "cancelled"
        ],
        "type": "string",
        "description": "* `queued` - Queued\n* `running` - Running\n* `succeeded` - Succeeded\n* `failed` - Failed\n* `cancelled` - Cancelled"
      },
      "BuildTraceResponse": {
        "type": "object",
        "properties": {
          "build": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Build"
              }
            ],
            "description": "Current build state."
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildEventResponse"
            },
            "description": "Ordered durable milestones."
          },
          "agent_trace": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgentTraceResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "Sanitized build-agent trace metadata, when available."
          }
        },
        "required": [
          "agent_trace",
          "build",
          "events"
        ],
        "additionalProperties": false
      },
      "CapabilitiesEnum": {
        "enum": [
          "BPF",
          "PERFMON",
          "SYS_RESOURCE",
          "SYS_PTRACE"
        ],
        "type": "string"
      },
      "CheckEnum": {
        "enum": [
          "github_api"
        ],
        "type": "string",
        "description": "* `github_api` - github_api"
      },
      "ConfirmTokenRecoveryInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "recovery_token": {
            "type": "string",
            "minLength": 1,
            "description": "Recovery token."
          },
          "token_name": {
            "type": "string",
            "minLength": 1,
            "default": "Recovered API access",
            "maxLength": 120,
            "description": "Token name."
          },
          "expires_in_days": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpiresInDaysEnum"
              }
            ],
            "default": 90,
            "description": "Expires in days."
          }
        },
        "required": [
          "recovery_token"
        ],
        "additionalProperties": false
      },
      "ConnectInfo": {
        "additionalProperties": false,
        "description": "Owner-facing sign-in instructions the Agent may surface for a site.\n\n``display`` controls how often the management surface reveals message-only\nguidance: ``never`` (default, hidden), ``once`` (first time the instance is\nready), or ``each_restore`` (every start or wake). Any credentials remain\navailable whenever the instance is ready, including with ``once``.",
        "properties": {
          "message": {
            "minLength": 1,
            "title": "Message",
            "type": "string",
            "description": "Message."
          },
          "secrets": {
            "items": {
              "$ref": "#/components/schemas/ConnectSecret"
            },
            "maxItems": 8,
            "title": "Secrets",
            "type": "array",
            "description": "Secrets."
          },
          "display": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayEnum"
              }
            ],
            "default": "never",
            "title": "Display",
            "description": "Display."
          }
        },
        "required": [
          "message"
        ],
        "title": "ConnectInfo",
        "type": "object"
      },
      "ConnectRepositoryRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "repository_url": {
            "type": "string",
            "format": "uri",
            "minLength": 1,
            "description": "Canonical HTTPS GitHub repository URL.",
            "maxLength": 1024
          },
          "default_branch": {
            "type": "string",
            "minLength": 1,
            "description": "Branch used as the default source revision.",
            "maxLength": 255
          }
        },
        "required": [
          "default_branch",
          "repository_url"
        ],
        "additionalProperties": false
      },
      "ConnectSecret": {
        "additionalProperties": false,
        "properties": {
          "label": {
            "minLength": 1,
            "title": "Label",
            "type": "string",
            "description": "Label."
          },
          "value": {
            "minLength": 1,
            "title": "Value",
            "type": "string",
            "description": "Value."
          }
        },
        "required": [
          "label",
          "value"
        ],
        "title": "ConnectSecret",
        "type": "object"
      },
      "ControlModeEnum": {
        "enum": [
          "new",
          "retry",
          "resume",
          "agent_repair",
          "f19_benchmark"
        ],
        "type": "string",
        "description": "* `new` - new\n* `retry` - retry\n* `resume` - resume\n* `agent_repair` - agent_repair\n* `f19_benchmark` - f19_benchmark"
      },
      "CreateBuildChatMessageRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "body": {
            "type": "string",
            "minLength": 1,
            "description": "Owner message added to the build conversation."
          }
        },
        "required": [
          "body"
        ],
        "additionalProperties": false
      },
      "CreateCustomDomainInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Domain."
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "CreateImageRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable image name.",
            "maxLength": 255
          },
          "source_ref": {
            "type": "string",
            "minLength": 1,
            "description": "Git branch or source reference fixed for this image.",
            "maxLength": 255
          },
          "image_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageSourceEnum"
              }
            ],
            "description": "Whether to build source or import a versioned registry image.\n\n* `repository` - Build from repository\n* `local_upload` - Build from local Git upload\n* `registry` - Use official registry image"
          },
          "registry_image": {
            "type": "string",
            "description": "Versioned public OCI reference when image_source is registry.",
            "maxLength": 512
          }
        },
        "required": [
          "name",
          "source_ref"
        ],
        "additionalProperties": false
      },
      "CreateInvitationRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "description": "Email address to invite."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationRole"
              }
            ],
            "description": "Organization role granted when the invitation is accepted.\n\n* `owner` - Owner\n* `admin` - Admin\n* `member` - Member"
          }
        },
        "required": [
          "email",
          "role"
        ],
        "additionalProperties": false
      },
      "CreateLocalProjectRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable local source project name.",
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Optional stable project slug; generated from name when omitted.",
            "maxLength": 240,
            "pattern": "^[-a-zA-Z0-9_]+$"
          },
          "image_name": {
            "type": "string",
            "minLength": 1,
            "description": "Name of the first single-shared-site image; defaults to the project name.",
            "maxLength": 255
          },
          "branch": {
            "type": "string",
            "minLength": 1,
            "default": "main",
            "description": "Initial local Git branch.",
            "maxLength": 255
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "CreateSiteInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Human-readable resource name."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "default": "personal",
            "maxLength": 80,
            "description": "Namespace."
          },
          "host": {
            "type": "string",
            "maxLength": 40,
            "description": "Host."
          },
          "access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccessEnum"
              }
            ],
            "default": "public",
            "description": "Access."
          },
          "idle_after_seconds": {
            "type": "integer",
            "maximum": 86400,
            "minimum": 0,
            "default": 60,
            "description": "Idle after seconds."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "CreateSourceUploadRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "source": {
            "type": "string",
            "format": "binary",
            "description": "ZIP or tar archive containing committed Git source."
          },
          "commit_sha": {
            "type": "string",
            "minLength": 1,
            "description": "Full 40- or 64-character Git commit SHA.",
            "pattern": "^(?:[0-9a-fA-F]{40}|[0-9a-fA-F]{64})$"
          },
          "branch": {
            "type": "string",
            "description": "Branch associated with the uploaded commit.",
            "maxLength": 255
          }
        },
        "required": [
          "commit_sha",
          "source"
        ],
        "additionalProperties": false
      },
      "CreateTokenInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Human-readable resource name."
          },
          "permission": {
            "$ref": "#/components/schemas/TokenPermission",
            "description": "Permission."
          },
          "expires_in_days": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpiresInDaysEnum"
              }
            ],
            "default": 90,
            "description": "Expires in days."
          }
        },
        "required": [
          "name",
          "permission"
        ],
        "additionalProperties": false
      },
      "CustomDomain": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "readOnly": true,
            "description": "Domain."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomDomainStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Current resource state."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "description": "Url."
          },
          "dns": {
            "readOnly": true,
            "description": "Dns."
          },
          "certificate": {
            "readOnly": true,
            "description": "Certificate."
          },
          "last_verification_error": {
            "type": "string",
            "readOnly": true,
            "description": "Last verification error."
          },
          "verified_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Verified at."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "certificate",
          "created_at",
          "dns",
          "domain",
          "last_verification_error",
          "status",
          "updated_at",
          "url",
          "verified_at"
        ],
        "additionalProperties": false
      },
      "CustomDomainStatusEnum": {
        "enum": [
          "pending",
          "verified",
          "active",
          "failed"
        ],
        "type": "string",
        "description": "* `pending` - Pending DNS\n* `verified` - Verified\n* `active` - Active\n* `failed` - Failed"
      },
      "DefaultAccessEnum": {
        "enum": [
          "public",
          "authenticated"
        ],
        "type": "string",
        "description": "* `public` - Public\n* `authenticated` - Authenticated"
      },
      "DemoManifestSchema": {
        "additionalProperties": false,
        "properties": {
          "version": {
            "const": 1,
            "default": 1,
            "title": "Version",
            "type": "integer",
            "description": "Version."
          },
          "host": {
            "anyOf": [
              {
                "maxLength": 40,
                "minLength": 1,
                "pattern": "^[a-z0-9](?:[a-z0-9-]{0,38}[a-z0-9])?$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Host",
            "description": "Host."
          },
          "access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccessEnum"
              }
            ],
            "default": "public",
            "title": "Access",
            "description": "Access."
          },
          "build": {
            "$ref": "#/components/schemas/BuildConfig",
            "description": "Build."
          },
          "run": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Run."
          },
          "services": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/ServiceConfig"
                },
                "propertyNames": {
                  "minLength": 1
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Services",
            "description": "Services."
          },
          "connect": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectInfo"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Connect."
          },
          "runtime_backend": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RuntimeBackendEnum"
              }
            ],
            "default": "gvisor",
            "title": "Runtime Backend",
            "description": "Runtime backend."
          },
          "workspace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WorkspaceEnum"
              }
            ],
            "default": "web",
            "title": "Workspace",
            "description": "Workspace."
          },
          "demo_instructions": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Demo Instructions",
            "description": "Demo instructions."
          }
        },
        "required": [
          "build"
        ],
        "title": "DemoManifestSchema",
        "type": "object"
      },
      "DeploySiteInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "source": {
            "$ref": "#/components/schemas/SourceEnum",
            "description": "Source."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "description": "Image."
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
            "description": "Repo."
          },
          "ref": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Ref."
          },
          "manifest_path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "description": "Manifest path."
          },
          "upload_id": {
            "type": "string",
            "format": "uuid",
            "description": "Upload id."
          },
          "template": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "^[-a-zA-Z0-9_]+$",
            "description": "Template."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Version."
          },
          "params": {
            "description": "Params."
          },
          "manifest": {
            "description": "Manifest."
          },
          "agent": {
            "type": "boolean",
            "default": false,
            "description": "Agent."
          }
        },
        "required": [
          "source"
        ],
        "additionalProperties": false
      },
      "DisplayEnum": {
        "enum": [
          "never",
          "once",
          "each_restore"
        ],
        "type": "string"
      },
      "EgressProfile": {
        "enum": [
          "none",
          "public_web",
          "reviewed"
        ],
        "type": "string",
        "description": "* `none` - No public egress\n* `public_web` - DNS and public HTTP/HTTPS\n* `reviewed` - Reviewed public exceptions"
      },
      "EgressRuleResponse": {
        "type": "object",
        "properties": {
          "cidr": {
            "type": "string",
            "description": "Allowed public IP network in CIDR notation."
          },
          "protocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProtocolEnum"
              }
            ],
            "description": "Allowed transport protocol.\n\n* `tcp` - tcp\n* `udp` - udp"
          },
          "port": {
            "type": "integer",
            "maximum": 65535,
            "minimum": 1,
            "description": "Allowed destination port."
          }
        },
        "required": [
          "cidr",
          "port",
          "protocol"
        ],
        "additionalProperties": false
      },
      "EmailDeliveryEnum": {
        "enum": [
          "sent",
          "delayed"
        ],
        "type": "string",
        "description": "* `sent` - sent\n* `delayed` - delayed"
      },
      "EmailInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "description": "Email."
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "EncryptedKubeconfigResponse": {
        "type": "object",
        "properties": {
          "algorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AlgorithmEnum"
              }
            ],
            "description": "Hybrid encryption algorithm used for the one-time credential.\n\n* `RSA-OAEP-SHA256+A256GCM` - RSA-OAEP-SHA256+A256GCM"
          },
          "encrypted_key": {
            "type": "string",
            "description": "Base64-encoded RSA-OAEP encrypted AES key."
          },
          "nonce": {
            "type": "string",
            "description": "Base64-encoded AES-GCM nonce."
          },
          "ciphertext": {
            "type": "string",
            "description": "Base64-encoded AES-GCM encrypted kubeconfig."
          }
        },
        "required": [
          "algorithm",
          "ciphertext",
          "encrypted_key",
          "nonce"
        ],
        "additionalProperties": false
      },
      "EventTypeEnum": {
        "enum": [
          "launch",
          "active_minutes",
          "storage_mb_hours",
          "bandwidth_mb",
          "wake_minutes",
          "requests",
          "storage_gb_hours"
        ],
        "type": "string",
        "description": "* `launch` - Launch\n* `active_minutes` - Active Minutes\n* `storage_mb_hours` - Storage MB\u00b7Hours\n* `bandwidth_mb` - Bandwidth MB\n* `wake_minutes` - Wake Minutes\n* `requests` - Requests\n* `storage_gb_hours` - Storage GB\u00b7Hours"
      },
      "ExpiresInDaysEnum": {
        "enum": [
          30,
          90,
          365
        ],
        "type": "integer",
        "description": "* `30` - 30\n* `90` - 90\n* `365` - 365"
      },
      "FleetRuntimeSecretUpdatedResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Configured secret name."
          },
          "configured": {
            "type": "boolean",
            "description": "Whether an encrypted value is configured."
          },
          "value_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ValueSourceEnum"
              }
            ],
            "description": "Whether the value was generated by the Agent or customized by a user.\n\n* `agent` - Agent generated\n* `user` - User customized"
          }
        },
        "required": [
          "configured",
          "name",
          "value_source"
        ],
        "additionalProperties": false
      },
      "FleetRuntimeSecretsResponse": {
        "type": "object",
        "properties": {
          "version_id": {
            "type": "integer",
            "description": "Active image-version identifier."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuntimeSecretRequirementResponse"
            },
            "description": "Masked runtime-secret requirements."
          }
        },
        "required": [
          "results",
          "version_id"
        ],
        "additionalProperties": false
      },
      "GitHubInstallationResponse": {
        "type": "object",
        "properties": {
          "install_url": {
            "type": "string",
            "format": "uri",
            "description": "Short-lived GitHub App installation URL."
          },
          "expires_in_seconds": {
            "type": "integer",
            "description": "Browser handoff validity in seconds."
          },
          "requires_browser_session": {
            "type": "boolean",
            "description": "Whether completion requires the signed-in browser session."
          }
        },
        "required": [
          "expires_in_seconds",
          "install_url",
          "requires_browser_session"
        ],
        "additionalProperties": false
      },
      "GrantSiteTCPAccessInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "service": {
            "type": "string",
            "minLength": 1,
            "maxLength": 63,
            "description": "Service."
          },
          "duration_minutes": {
            "type": "integer",
            "maximum": 1440,
            "minimum": 1,
            "default": 60,
            "description": "Duration minutes."
          }
        },
        "required": [
          "service"
        ],
        "additionalProperties": false
      },
      "HardPurgeRepositoryRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "confirm_repository": {
            "type": "string",
            "minLength": 1,
            "description": "Exact owner/repository label confirming the irreversible purge.",
            "maxLength": 511
          }
        },
        "required": [
          "confirm_repository"
        ],
        "additionalProperties": false
      },
      "HardPurgeResponse": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HardPurgeResponseStatusEnum"
              }
            ],
            "description": "Purge completion state.\n\n* `purged` - purged"
          },
          "summary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HardPurgeSummaryResponse"
              }
            ],
            "description": "Sanitized counts and retained billing total."
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "HardPurgeResponseStatusEnum": {
        "enum": [
          "purged"
        ],
        "type": "string",
        "description": "* `purged` - purged"
      },
      "HardPurgeSummaryResponse": {
        "type": "object",
        "properties": {
          "instances_removed": {
            "type": "integer",
            "description": "Runtime instance records removed."
          },
          "golden_versions_removed": {
            "type": "integer",
            "description": "Immutable image-version records removed."
          },
          "build_attempts_removed": {
            "type": "integer",
            "description": "Build-attempt records removed."
          },
          "artifact_roots_removed": {
            "type": "integer",
            "description": "Private artifact roots removed from storage."
          },
          "codex_sessions_removed": {
            "type": "integer",
            "description": "Private Agent sessions removed."
          },
          "billing_total_cost_cents_retained": {
            "type": "integer",
            "description": "De-identified billing total deliberately retained."
          }
        },
        "required": [
          "artifact_roots_removed",
          "billing_total_cost_cents_retained",
          "build_attempts_removed",
          "codex_sessions_removed",
          "golden_versions_removed",
          "instances_removed"
        ],
        "additionalProperties": false
      },
      "HealthCheckConfig": {
        "additionalProperties": false,
        "properties": {
          "command": {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "title": "Command",
            "type": "array",
            "description": "Command."
          },
          "timeout_ms": {
            "default": 60000,
            "maximum": 600000,
            "minimum": 100,
            "title": "Timeout Ms",
            "type": "integer",
            "description": "Timeout ms."
          },
          "interval_ms": {
            "default": 500,
            "maximum": 60000,
            "minimum": 50,
            "title": "Interval Ms",
            "type": "integer",
            "description": "Interval ms."
          }
        },
        "required": [
          "command"
        ],
        "title": "HealthCheckConfig",
        "type": "object"
      },
      "HostResourceUsage": {
        "type": "object",
        "properties": {
          "cpu_average_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "description": "Average observed host CPU utilization percentage."
          },
          "cpu_peak_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "description": "Peak observed host CPU utilization percentage."
          },
          "memory_total_bytes": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Observed host memory capacity in bytes."
          },
          "memory_available_min_bytes": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Lowest observed available host memory in bytes."
          },
          "pressure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PressureSummary"
              }
            ],
            "description": "Peak Linux pressure-stall indicators."
          }
        },
        "required": [
          "cpu_average_percent",
          "cpu_peak_percent",
          "memory_available_min_bytes",
          "memory_total_bytes",
          "pressure"
        ],
        "additionalProperties": false
      },
      "Image": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "repository_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "Human-readable resource name."
          },
          "slug": {
            "type": "string",
            "readOnly": true,
            "pattern": "^[-a-zA-Z0-9_]+$",
            "description": "Stable URL-safe resource slug."
          },
          "description": {
            "type": "string",
            "readOnly": true,
            "description": "Description."
          },
          "build_instructions": {
            "type": "string",
            "readOnly": true,
            "description": "Optional owner guidance injected into the Olibato Agent prompt to steer a build, e.g. add a dependency or wire up a service."
          },
          "image_source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageSourceEnum"
              }
            ],
            "readOnly": true,
            "description": "Whether builds compile source or import an official image.\n\n* `repository` - Build from repository\n* `local_upload` - Build from local Git upload\n* `registry` - Use official registry image"
          },
          "registry_image": {
            "type": "string",
            "readOnly": true,
            "description": "Versioned public OCI reference selected by the image owner."
          },
          "is_enabled": {
            "type": "boolean",
            "readOnly": true,
            "description": "Whether this image may run as the Fleet site."
          },
          "active_version_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Immutable version currently selected for launches."
          },
          "source_ref": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true,
            "description": "Source ref."
          },
          "config_path": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true,
            "description": "Config path."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Soft-deletion time. Build and usage records remain for audit."
          }
        },
        "required": [
          "active_version_id",
          "build_instructions",
          "config_path",
          "created_at",
          "deleted_at",
          "description",
          "id",
          "image_source",
          "is_enabled",
          "name",
          "registry_image",
          "repository_id",
          "slug",
          "source_ref",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "ImageSourceEnum": {
        "enum": [
          "repository",
          "local_upload",
          "registry"
        ],
        "type": "string",
        "description": "* `repository` - Build from repository\n* `local_upload` - Build from local Git upload\n* `registry` - Use official registry image"
      },
      "Instance": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "organization_id": {
            "type": "integer",
            "description": "Denormalized from repository for fast billing queries.",
            "readOnly": true
          },
          "repository_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Image associated with the resource; retained under the legacy database field name."
          },
          "version_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Immutable image-version artifact associated with the resource."
          },
          "lifecycle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifecycleEnum"
              }
            ],
            "readOnly": true,
            "description": "Lifecycle."
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StateEnum"
              }
            ],
            "readOnly": true,
            "description": "Current lifecycle state."
          },
          "subdomain": {
            "type": "string",
            "readOnly": true,
            "description": "Stable <site>.<namespace> runtime subdomain."
          },
          "url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "readOnly": true,
            "description": "Url."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Hard expiration \u2014 instance is force-deleted after this."
          },
          "idle_timeout_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Rolling idle deadline for the instance."
          },
          "last_error": {
            "type": "string",
            "readOnly": true,
            "description": "Last error."
          },
          "operation_kind": {
            "type": "string",
            "readOnly": true,
            "description": "Operation kind."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "created_at",
          "demo_id",
          "expires_at",
          "id",
          "idle_timeout_at",
          "last_error",
          "lifecycle",
          "operation_kind",
          "organization_id",
          "repository_id",
          "state",
          "subdomain",
          "updated_at",
          "url",
          "version_id"
        ],
        "additionalProperties": false
      },
      "Invitation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "description": "Email."
          },
          "role": {
            "$ref": "#/components/schemas/OrganizationRole",
            "description": "Role."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "Expires at."
          },
          "accepted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Accepted at."
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Revoked at."
          }
        },
        "required": [
          "created_at",
          "email",
          "id"
        ],
        "additionalProperties": false
      },
      "InvitationCreatedResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Invitation identifier."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Invited email address."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationRole"
              }
            ],
            "description": "Invited role.\n\n* `owner` - Owner\n* `admin` - Admin\n* `member` - Member"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Invitation creation time."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "Invitation expiration time."
          },
          "accepted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Acceptance time, if accepted."
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Revocation time, if revoked."
          },
          "email_delivery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EmailDeliveryEnum"
              }
            ],
            "description": "Immediate invitation-email delivery result.\n\n* `sent` - sent\n* `delayed` - delayed"
          }
        },
        "required": [
          "accepted_at",
          "created_at",
          "email",
          "email_delivery",
          "expires_at",
          "id",
          "revoked_at",
          "role"
        ],
        "additionalProperties": false
      },
      "IssueKubeconfigRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "public_key_pem": {
            "type": "string",
            "minLength": 1,
            "description": "PEM-encoded public key used to encrypt the issued kubeconfig."
          }
        },
        "required": [
          "public_key_pem"
        ],
        "additionalProperties": false
      },
      "KubernetesAcceptedResponse": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AcceptedStatus"
              }
            ],
            "description": "Credential operation acceptance state.\n\n* `accepted` - accepted"
          },
          "operation_id": {
            "type": "string",
            "description": "Asynchronous credential-operation identifier."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Credential-operation expiration time."
          }
        },
        "required": [
          "expires_at",
          "operation_id",
          "status"
        ],
        "additionalProperties": false
      },
      "KubernetesActionRequest": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/IssueKubeconfigRequest"
          }
        ]
      },
      "KubernetesActionResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/KubernetesPreparationResponse"
          },
          {
            "$ref": "#/components/schemas/KubernetesAcceptedResponse"
          },
          {
            "$ref": "#/components/schemas/KubernetesCredentialResultResponse"
          }
        ]
      },
      "KubernetesCredentialResultResponse": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KubernetesCredentialResultResponseStatusEnum"
              }
            ],
            "description": "Credential-operation state.\n\n* `accepted` - accepted\n* `running` - running\n* `succeeded` - succeeded"
          },
          "credential": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EncryptedKubeconfigResponse"
              }
            ],
            "description": "One-time encrypted kubeconfig envelope, returned only on success."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Issued credential expiration time."
          },
          "hostname": {
            "type": [
              "string",
              "null"
            ],
            "description": "Kubernetes API hostname."
          }
        },
        "required": [
          "status"
        ],
        "additionalProperties": false
      },
      "KubernetesCredentialResultResponseStatusEnum": {
        "enum": [
          "accepted",
          "running",
          "succeeded"
        ],
        "type": "string",
        "description": "* `accepted` - accepted\n* `running` - running\n* `succeeded` - succeeded"
      },
      "KubernetesPreparationResponse": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "description": "Kubernetes route preparation state."
          },
          "hostname": {
            "type": [
              "string",
              "null"
            ],
            "description": "Kubernetes API hostname, when allocated."
          },
          "error": {
            "type": [
              "string",
              "null"
            ],
            "description": "Latest preparation error, when present."
          }
        },
        "required": [
          "error",
          "hostname",
          "state"
        ],
        "additionalProperties": false
      },
      "LegalAcceptanceInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "Explicit acceptance confirmation."
          },
          "terms_version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Terms version."
          },
          "privacy_version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Privacy version."
          },
          "acceptable_use_version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Acceptable use version."
          }
        },
        "required": [
          "acceptable_use_version",
          "accepted",
          "privacy_version",
          "terms_version"
        ],
        "additionalProperties": false
      },
      "LifecycleEnum": {
        "enum": [
          "ephemeral",
          "persistent"
        ],
        "type": "string",
        "description": "* `ephemeral` - Ephemeral\n* `persistent` - Persistent"
      },
      "LocalProjectCreatedResponse": {
        "type": "object",
        "properties": {
          "project": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Repository"
              }
            ],
            "description": "Created local source project."
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Image"
              }
            ],
            "description": "First single-shared-site image for the project."
          }
        },
        "required": [
          "image",
          "project"
        ],
        "additionalProperties": false
      },
      "Membership": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserSummary"
              }
            ],
            "readOnly": true,
            "description": "User."
          },
          "role": {
            "$ref": "#/components/schemas/OrganizationRole",
            "description": "Role."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "created_at",
          "id",
          "updated_at",
          "user"
        ],
        "additionalProperties": false
      },
      "NullEnum": {
        "type": "null"
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "description": "Human-readable resource name."
          },
          "slug": {
            "type": "string",
            "maxLength": 50,
            "pattern": "^[-a-zA-Z0-9_]+$",
            "description": "Stable URL-safe resource slug."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "slug",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "OrganizationListItemResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Organization identifier."
          },
          "name": {
            "type": "string",
            "description": "Human-readable organization name."
          },
          "slug": {
            "type": "string",
            "description": "Organization slug used in API paths.",
            "pattern": "^[-a-zA-Z0-9_]+$"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Last update time."
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationRole"
              }
            ],
            "description": "Authenticated user role in this organization.\n\n* `owner` - Owner\n* `admin` - Admin\n* `member` - Member"
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "role",
          "slug",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "OrganizationRole": {
        "enum": [
          "owner",
          "admin",
          "member"
        ],
        "type": "string",
        "description": "* `owner` - Owner\n* `admin` - Admin\n* `member` - Member"
      },
      "OrganizationsResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationListItemResponse"
            },
            "description": "Organization memberships for the authenticated account."
          }
        },
        "required": [
          "results"
        ],
        "additionalProperties": false
      },
      "PaginatedAppTemplateList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppTemplate"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedAuditList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Audit"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedBuildList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Build"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedCustomDomainList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomDomain"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedImageList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedInstanceList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Instance"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedInvitationList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Invitation"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedMembershipList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Membership"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedRepositoryList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Repository"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedSecretMetadataList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretMetadata"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedSiteList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Site"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedSourceUploadList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceUpload"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PaginatedVersionList": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
            "description": "Next cursor page URL, or null at the end."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "example": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
            "description": "Previous cursor page URL, or null at the beginning."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Version"
            },
            "description": "Items in this response."
          }
        },
        "additionalProperties": false
      },
      "PressurePeak": {
        "type": "object",
        "properties": {
          "some_avg10_peak": {
            "type": "number",
            "format": "double",
            "description": "Peak Linux PSI some avg10 value."
          },
          "full_avg10_peak": {
            "type": "number",
            "format": "double",
            "description": "Peak Linux PSI full avg10 value."
          }
        },
        "required": [
          "full_avg10_peak",
          "some_avg10_peak"
        ],
        "additionalProperties": false
      },
      "PressureSummary": {
        "type": "object",
        "properties": {
          "cpu": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PressurePeak"
              }
            ],
            "description": "CPU pressure peaks."
          },
          "memory": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PressurePeak"
              }
            ],
            "description": "Memory pressure peaks."
          },
          "io": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PressurePeak"
              }
            ],
            "description": "I/O pressure peaks."
          }
        },
        "required": [
          "cpu",
          "io",
          "memory"
        ],
        "additionalProperties": false
      },
      "Problem": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "format": "uri",
            "description": "URI identifying the stable problem type."
          },
          "title": {
            "type": "string",
            "description": "Short HTTP-status title."
          },
          "status": {
            "type": "integer",
            "description": "HTTP response status code."
          },
          "detail": {
            "type": "string",
            "description": "Human-readable explanation of this occurrence."
          },
          "code": {
            "type": "string",
            "description": "Stable Olibato error code for programmatic handling."
          },
          "request_id": {
            "type": "string",
            "description": "Request correlation identifier, generated when the caller does not supply one."
          },
          "errors": {
            "oneOf": [
              {},
              {
                "type": "null"
              }
            ],
            "description": "Optional field or structured validation errors."
          }
        },
        "required": [
          "code",
          "detail",
          "request_id",
          "status",
          "title",
          "type"
        ],
        "additionalProperties": false
      },
      "ProtocolEnum": {
        "enum": [
          "tcp",
          "udp"
        ],
        "type": "string",
        "description": "* `tcp` - tcp\n* `udp` - udp"
      },
      "PutFleetRuntimeSecretRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Secret name declared by the active image manifest.",
            "maxLength": 255
          },
          "value": {
            "type": "string",
            "writeOnly": true,
            "minLength": 1,
            "description": "Secret plaintext; never returned by the API."
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false
      },
      "PutSecretRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "value": {
            "type": "string",
            "writeOnly": true,
            "minLength": 1,
            "description": "Secret plaintext. It is encrypted at rest and never returned."
          }
        },
        "required": [
          "value"
        ],
        "additionalProperties": false
      },
      "QueueBuildJsonRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "build_instructions": {
            "type": "string",
            "description": "Instructions supplied to the isolated build agent.",
            "maxLength": 4000
          },
          "source_upload_id": {
            "type": "string",
            "format": "uuid",
            "description": "Ready local source upload. Required for a local Git project."
          },
          "force": {
            "type": "boolean",
            "default": false,
            "description": "Queue another attempt even when equivalent build inputs exist."
          }
        },
        "additionalProperties": false
      },
      "QueueBuildMultipartRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "build_instructions": {
            "type": "string",
            "description": "Instructions supplied to the isolated build agent.",
            "maxLength": 4000
          },
          "source_upload_id": {
            "type": "string",
            "format": "uuid",
            "description": "Ready local source upload. Required for a local Git project."
          },
          "force": {
            "type": "boolean",
            "default": false,
            "description": "Queue another attempt even when equivalent build inputs exist."
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "binary"
            },
            "description": "Up to five reference files for the build conversation.",
            "maxItems": 5
          }
        },
        "additionalProperties": false
      },
      "RegisterAccountInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "minLength": 1,
            "description": "Email."
          },
          "username": {
            "type": "string",
            "minLength": 3,
            "description": "Stable personal DNS namespace.",
            "maxLength": 32
          },
          "password": {
            "type": "string",
            "writeOnly": true,
            "minLength": 1,
            "description": "Password."
          },
          "legal_acceptance": {
            "$ref": "#/components/schemas/LegalAcceptanceInputRequest",
            "description": "Legal acceptance."
          }
        },
        "required": [
          "email",
          "legal_acceptance",
          "password"
        ],
        "additionalProperties": false
      },
      "RegistrationAcceptedResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/RegistrationStatus",
            "description": "Current resource state."
          },
          "email_delivery": {
            "$ref": "#/components/schemas/EmailDeliveryEnum",
            "description": "Email delivery."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "description": "Expires at."
          }
        },
        "required": [
          "email_delivery",
          "expires_at",
          "status"
        ],
        "additionalProperties": false
      },
      "RegistrationMetadataResponse": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enabled."
          },
          "legal": {
            "description": "Legal."
          },
          "verification_expires_in_seconds": {
            "type": "integer",
            "description": "Verification expires in seconds."
          }
        },
        "required": [
          "enabled",
          "legal",
          "verification_expires_in_seconds"
        ],
        "additionalProperties": false
      },
      "RegistrationStatus": {
        "enum": [
          "verification_required"
        ],
        "type": "string",
        "description": "* `verification_required` - verification_required"
      },
      "RegistrationVerifiedResponse": {
        "type": "object",
        "properties": {
          "account": {
            "description": "Account."
          },
          "organization": {
            "description": "Organization."
          },
          "token": {
            "$ref": "#/components/schemas/TokenCreatedResponse",
            "description": "Token."
          }
        },
        "required": [
          "account",
          "organization",
          "token"
        ],
        "additionalProperties": false
      },
      "ReplaceFleetRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "is_enabled": {
            "type": "boolean",
            "description": "Whether this Fleet may accept launches."
          },
          "resource_class": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceClassEnum"
              }
            ],
            "description": "Runtime resource allocation class.\n\n* `tiny` - Tiny \u2014 0.25 vCPU, 512 MB\n* `small` - Small \u2014 0.5 vCPU, 1 GB\n* `database` - Database \u2014 0.5 vCPU, 1 GB\n* `standard` - Standard \u2014 1 vCPU, 2 GB\n* `medium` - Medium \u2014 2 vCPU, 4 GB\n* `large` - Large \u2014 4 vCPU, 8 GB"
          },
          "concurrency_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum simultaneous active instances."
          },
          "monthly_launch_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum launches in one billing month."
          },
          "max_session_duration_minutes": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum lifetime of one instance, in minutes."
          },
          "idle_timeout_minutes": {
            "type": "integer",
            "minimum": 1,
            "description": "Idle minutes before an instance sleeps."
          }
        },
        "required": [
          "concurrency_limit",
          "idle_timeout_minutes",
          "is_enabled",
          "max_session_duration_minutes",
          "monthly_launch_limit",
          "resource_class"
        ],
        "additionalProperties": false
      },
      "Repository": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "source_kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceKindEnum"
              }
            ],
            "readOnly": true,
            "description": "Where source revisions for this project are obtained.\n\n* `github` - GitHub\n* `local_git` - Local Git upload"
          },
          "source_label": {
            "type": "string",
            "readOnly": true,
            "description": "Source label."
          },
          "github_owner": {
            "type": "string",
            "readOnly": true,
            "description": "GitHub user or organization that owns the repository."
          },
          "github_repo": {
            "type": "string",
            "readOnly": true,
            "description": "GitHub repository name."
          },
          "github_url": {
            "type": "string",
            "readOnly": true,
            "description": "Github url."
          },
          "github_installation_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "GitHub App installation covering this repository (null for public)."
          },
          "default_branch": {
            "type": "string",
            "readOnly": true,
            "description": "Default branch."
          },
          "config_path": {
            "type": "string",
            "readOnly": true,
            "description": "Path to the demo configuration file in the repository."
          },
          "review_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReviewStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Current Olibato Agent repository authorization state.\n\n* `pending` - Pending\n* `reviewing` - Reviewing\n* `approved` - Approved\n* `rejected` - Rejected\n* `error` - Retrying"
          },
          "review_summary": {
            "type": "string",
            "readOnly": true,
            "description": "Sanitized explanation of the latest Agent review decision."
          },
          "is_reviewed": {
            "type": "boolean",
            "readOnly": true,
            "description": "Compatibility flag set by the Olibato Agent review."
          },
          "is_enabled": {
            "type": "boolean",
            "readOnly": true,
            "description": "Whether the site runtime is enabled."
          },
          "active_image_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Image currently attached to the Fleet, or null when detached."
          },
          "active_version_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Immutable version currently selected for launches."
          },
          "resource_class": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceClassEnum"
              }
            ],
            "readOnly": true,
            "description": "Resource class."
          },
          "concurrency_limit": {
            "type": "integer",
            "readOnly": true,
            "description": "Maximum concurrent running/waking/launching demo instances."
          },
          "monthly_launch_limit": {
            "type": "integer",
            "readOnly": true,
            "description": "Maximum launches per billing month."
          },
          "monthly_spending_limit_cents": {
            "type": "integer",
            "readOnly": true,
            "description": "Hard monthly spending cap in cents."
          },
          "max_session_duration_minutes": {
            "type": "integer",
            "readOnly": true,
            "description": "Maximum lifetime of a single demo instance in minutes."
          },
          "idle_timeout_minutes": {
            "type": "integer",
            "readOnly": true,
            "description": "Minutes of inactivity before a demo instance sleeps."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Soft-delete timestamp. Hidden from dashboards; retained for audit and financial calculations."
          }
        },
        "required": [
          "active_image_id",
          "active_version_id",
          "concurrency_limit",
          "config_path",
          "created_at",
          "default_branch",
          "deleted_at",
          "github_installation_id",
          "github_owner",
          "github_repo",
          "github_url",
          "id",
          "idle_timeout_minutes",
          "is_enabled",
          "is_reviewed",
          "max_session_duration_minutes",
          "monthly_launch_limit",
          "monthly_spending_limit_cents",
          "resource_class",
          "review_status",
          "review_summary",
          "source_kind",
          "source_label",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "RepositoryReviewEvidenceResponse": {
        "type": "object",
        "properties": {
          "check": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CheckEnum"
              }
            ],
            "description": "Identity check that produced this evidence.\n\n* `github_api` - github_api"
          },
          "github_repository_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Canonical GitHub repository identifier."
          },
          "canonical_full_name": {
            "type": "string",
            "description": "Canonical owner/name returned by GitHub."
          },
          "canonical_url": {
            "type": "string",
            "format": "uri",
            "description": "Canonical repository URL returned by GitHub."
          },
          "owner_login": {
            "type": "string",
            "description": "Canonical GitHub owner login."
          },
          "owner_type": {
            "type": "string",
            "description": "GitHub owner account type."
          },
          "default_branch": {
            "type": "string",
            "description": "Default branch reported by GitHub."
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Repository creation time reported by GitHub."
          },
          "pushed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Most recent push time reported by GitHub."
          },
          "size_kb": {
            "type": [
              "integer",
              "null"
            ],
            "description": "GitHub repository size in KiB."
          },
          "stars": {
            "type": [
              "integer",
              "null"
            ],
            "description": "GitHub stargazer count at review time."
          },
          "forks": {
            "type": [
              "integer",
              "null"
            ],
            "description": "GitHub fork count at review time."
          },
          "is_fork": {
            "type": "boolean",
            "description": "Whether GitHub identifies this repository as a fork."
          },
          "archived": {
            "type": "boolean",
            "description": "Whether GitHub identifies this repository as archived."
          },
          "disabled": {
            "type": "boolean",
            "description": "Whether GitHub identifies this repository as disabled."
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ],
            "description": "GitHub visibility value."
          },
          "license": {
            "type": [
              "string",
              "null"
            ],
            "description": "SPDX license identifier reported by GitHub."
          }
        },
        "required": [
          "archived",
          "canonical_full_name",
          "canonical_url",
          "check",
          "created_at",
          "default_branch",
          "disabled",
          "forks",
          "github_repository_id",
          "is_fork",
          "license",
          "owner_login",
          "owner_type",
          "pushed_at",
          "size_kb",
          "stars",
          "visibility"
        ],
        "additionalProperties": false
      },
      "RepositoryReviewResponse": {
        "type": "object",
        "properties": {
          "review": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RepositoryReviewResultResponse"
              }
            ],
            "description": "Sanitized repository eligibility review result."
          },
          "repository": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Repository"
              }
            ],
            "description": "Repository after recording the review."
          }
        },
        "required": [
          "repository",
          "review"
        ],
        "additionalProperties": false
      },
      "RepositoryReviewResultResponse": {
        "type": "object",
        "properties": {
          "approved": {
            "type": "boolean",
            "description": "Whether the repository passed the eligibility review."
          },
          "summary": {
            "type": "string",
            "description": "Human-readable review decision."
          },
          "evidence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RepositoryReviewEvidenceResponse"
              }
            ],
            "description": "Sanitized canonical GitHub evidence."
          }
        },
        "required": [
          "approved",
          "evidence",
          "summary"
        ],
        "additionalProperties": false
      },
      "ResourceClassEnum": {
        "enum": [
          "tiny",
          "small",
          "database",
          "standard",
          "medium",
          "large"
        ],
        "type": "string",
        "description": "* `tiny` - Tiny \u2014 0.25 vCPU, 512 MB\n* `small` - Small \u2014 0.5 vCPU, 1 GB\n* `database` - Database \u2014 0.5 vCPU, 1 GB\n* `standard` - Standard \u2014 1 vCPU, 2 GB\n* `medium` - Medium \u2014 2 vCPU, 4 GB\n* `large` - Large \u2014 4 vCPU, 8 GB"
      },
      "ResourceConfig": {
        "additionalProperties": false,
        "description": "Optional per-service allocation bounded by the Fleet resource class.",
        "properties": {
          "cpu_millis": {
            "anyOf": [
              {
                "maximum": 64000,
                "minimum": 10,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Cpu Millis",
            "description": "Cpu millis."
          },
          "memory_mb": {
            "anyOf": [
              {
                "maximum": 262144,
                "minimum": 16,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Memory Mb",
            "description": "Memory mb."
          },
          "pids": {
            "anyOf": [
              {
                "maximum": 65536,
                "minimum": 16,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Pids",
            "description": "Pids."
          },
          "disk_mb": {
            "anyOf": [
              {
                "maximum": 1048576,
                "minimum": 64,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Disk Mb",
            "description": "Disk mb."
          },
          "io_read_bps": {
            "anyOf": [
              {
                "maximum": 10737418240,
                "minimum": 1048576,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Io Read Bps",
            "description": "Io read bps."
          },
          "io_write_bps": {
            "anyOf": [
              {
                "maximum": 10737418240,
                "minimum": 1048576,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Io Write Bps",
            "description": "Io write bps."
          }
        },
        "title": "ResourceConfig",
        "type": "object"
      },
      "ReviewStatusEnum": {
        "enum": [
          "pending",
          "reviewing",
          "approved",
          "rejected",
          "error"
        ],
        "type": "string",
        "description": "* `pending` - Pending\n* `reviewing` - Reviewing\n* `approved` - Approved\n* `rejected` - Rejected\n* `error` - Retrying"
      },
      "RunConfig": {
        "additionalProperties": false,
        "properties": {
          "image": {
            "minLength": 1,
            "title": "Image",
            "type": "string",
            "description": "Image."
          },
          "command": {
            "anyOf": [
              {
                "items": {
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Command",
            "description": "Command."
          },
          "port": {
            "maximum": 65535,
            "minimum": 1,
            "title": "Port",
            "type": "integer",
            "description": "Port."
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "minLength": 1
            },
            "title": "Environment",
            "type": "object",
            "description": "Environment."
          },
          "health_check": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/HealthCheckConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Health check."
          },
          "resources": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResourceConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resources."
          },
          "security_context": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SecurityContextConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Security context."
          },
          "volumes": {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 16,
            "title": "Volumes",
            "type": "array",
            "description": "Volumes."
          }
        },
        "required": [
          "image",
          "port"
        ],
        "title": "RunConfig",
        "type": "object"
      },
      "RuntimeBackendEnum": {
        "enum": [
          "gvisor",
          "firecracker",
          "firecracker-kube"
        ],
        "type": "string"
      },
      "RuntimeSecretRequirementResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Owner-scoped secret name declared by the image."
          },
          "label": {
            "type": "string",
            "description": "Human-readable secret label."
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Manifest locations that reference the secret."
          },
          "configured": {
            "type": "boolean",
            "description": "Whether this Fleet has a usable value."
          },
          "value_source": {
            "description": "Source of the active encrypted value.\n\n* `agent` - Agent generated\n* `user` - User customized",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ValueSourceEnum"
              },
              {
                "$ref": "#/components/schemas/NullEnum"
              }
            ]
          }
        },
        "required": [
          "configured",
          "label",
          "locations",
          "name",
          "value_source"
        ],
        "additionalProperties": false
      },
      "SandboxResourceUsage": {
        "type": "object",
        "properties": {
          "sample_count": {
            "type": "integer",
            "description": "Number of sandbox metric samples."
          },
          "limits": {
            "type": "object",
            "additionalProperties": {},
            "x-olibato-extensible": true,
            "description": "Supervisor-reported sandbox limits; keys depend on the runtime backend."
          },
          "cpu_average_percent_of_limit": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "description": "Average sandbox CPU use as a percentage of its limit."
          },
          "cpu_peak_percent_of_limit": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "description": "Peak sandbox CPU use as a percentage of its limit."
          },
          "cpu_usage_usec": {
            "type": "integer",
            "description": "Cumulative sandbox CPU time in microseconds."
          },
          "cpu_throttled_usec": {
            "type": "integer",
            "description": "Cumulative throttled CPU time in microseconds."
          },
          "memory_current_bytes": {
            "type": "integer",
            "description": "Most recent sandbox memory use in bytes."
          },
          "memory_peak_bytes": {
            "type": "integer",
            "description": "Peak sandbox memory use in bytes."
          },
          "memory_limit_bytes": {
            "type": "integer",
            "description": "Sandbox memory limit in bytes."
          },
          "pids_current": {
            "type": "integer",
            "description": "Most recent sandbox process count."
          },
          "pids_peak": {
            "type": "integer",
            "description": "Peak sandbox process count."
          },
          "pids_limit": {
            "type": "integer",
            "description": "Sandbox process-count limit."
          },
          "io_read_bytes": {
            "type": "integer",
            "description": "Cumulative bytes read by the sandbox."
          },
          "io_write_bytes": {
            "type": "integer",
            "description": "Cumulative bytes written by the sandbox."
          },
          "io_read_operations": {
            "type": "integer",
            "description": "Cumulative sandbox read-operation count."
          },
          "io_write_operations": {
            "type": "integer",
            "description": "Cumulative sandbox write-operation count."
          },
          "memory_events": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Cgroup memory-event counters keyed by event name."
          }
        },
        "required": [
          "cpu_average_percent_of_limit",
          "cpu_peak_percent_of_limit",
          "cpu_throttled_usec",
          "cpu_usage_usec",
          "io_read_bytes",
          "io_read_operations",
          "io_write_bytes",
          "io_write_operations",
          "limits",
          "memory_current_bytes",
          "memory_events",
          "memory_limit_bytes",
          "memory_peak_bytes",
          "pids_current",
          "pids_limit",
          "pids_peak",
          "sample_count"
        ],
        "additionalProperties": false
      },
      "SchemaVersionEnum": {
        "enum": [
          1
        ],
        "type": "integer",
        "description": "* `1` - 1"
      },
      "SecretMetadata": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "name": {
            "type": "string",
            "description": "Owner secret reference, for example owner/stripe_live.",
            "maxLength": 128
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "SecurityContextConfig": {
        "additionalProperties": false,
        "description": "Narrow capability allowlist for real-kernel Firecracker workloads.",
        "properties": {
          "profile": {
            "anyOf": [
              {
                "const": "modern_ebpf",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Profile",
            "description": "Profile."
          },
          "capabilities": {
            "items": {
              "$ref": "#/components/schemas/CapabilitiesEnum"
            },
            "maxItems": 4,
            "title": "Capabilities",
            "type": "array",
            "description": "Capabilities."
          }
        },
        "title": "SecurityContextConfig",
        "type": "object"
      },
      "SecurityScanStatusEnum": {
        "enum": [
          "pending",
          "passed",
          "failed",
          "error"
        ],
        "type": "string",
        "description": "* `pending` - Pending\n* `passed` - Passed\n* `failed` - Failed\n* `error` - Scanner error"
      },
      "ServiceConfig": {
        "additionalProperties": false,
        "properties": {
          "image": {
            "minLength": 1,
            "title": "Image",
            "type": "string",
            "description": "Image."
          },
          "command": {
            "anyOf": [
              {
                "items": {
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Command",
            "description": "Command."
          },
          "port": {
            "anyOf": [
              {
                "maximum": 65535,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Port",
            "description": "Port."
          },
          "public": {
            "default": false,
            "title": "Public",
            "type": "boolean",
            "description": "Public."
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "minLength": 1
            },
            "title": "Environment",
            "type": "object",
            "description": "Environment."
          },
          "depends_on": {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "title": "Depends On",
            "type": "array",
            "description": "Depends on."
          },
          "start_delay_ms": {
            "default": 0,
            "maximum": 600000,
            "minimum": 0,
            "title": "Start Delay Ms",
            "type": "integer",
            "description": "Start delay ms."
          },
          "health_check": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/HealthCheckConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Health check."
          },
          "start": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartEnum"
              }
            ],
            "default": "checkpoint",
            "title": "Start",
            "description": "Start."
          },
          "startup_probe": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Startup Probe",
            "description": "Startup probe."
          },
          "resources": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResourceConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resources."
          },
          "security_context": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SecurityContextConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Security context."
          },
          "volumes": {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 16,
            "title": "Volumes",
            "type": "array",
            "description": "Volumes."
          }
        },
        "required": [
          "image"
        ],
        "title": "ServiceConfig",
        "type": "object"
      },
      "SetVersionEgressRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "egress_profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EgressProfile"
              }
            ],
            "description": "Runtime network-egress profile.\n\n* `none` - No public egress\n* `public_web` - DNS and public HTTP/HTTPS\n* `reviewed` - Reviewed public exceptions"
          },
          "egress_exceptions": {
            "type": "string",
            "description": "Reviewed exceptions, one CIDR protocol port rule per line."
          }
        },
        "required": [
          "egress_profile"
        ],
        "additionalProperties": false
      },
      "Site": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Stable URL-safe resource slug."
          },
          "name": {
            "type": "string",
            "description": "Human-readable resource name."
          },
          "namespace": {
            "type": "string",
            "description": "Namespace."
          },
          "host_url": {
            "type": "string",
            "format": "uri",
            "readOnly": true,
            "description": "Host url."
          },
          "state": {
            "type": "string",
            "readOnly": true,
            "description": "Current lifecycle state."
          },
          "https": {
            "readOnly": true,
            "description": "Https."
          },
          "access": {
            "type": "string",
            "description": "Access."
          },
          "idle_after_seconds": {
            "type": "integer",
            "description": "Idle after seconds."
          },
          "active_version_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Immutable version currently selected for launches."
          },
          "last_deploy": {
            "oneOf": [
              {},
              {
                "type": "null"
              }
            ],
            "readOnly": true,
            "description": "Last deploy."
          },
          "usage": {
            "readOnly": true,
            "description": "Usage."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Resource creation time."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Most recent resource update time."
          }
        },
        "required": [
          "access",
          "active_version_id",
          "created_at",
          "host_url",
          "https",
          "idle_after_seconds",
          "last_deploy",
          "name",
          "namespace",
          "slug",
          "state",
          "updated_at",
          "usage"
        ],
        "additionalProperties": false
      },
      "SourceEnum": {
        "enum": [
          "container",
          "repository",
          "source_upload",
          "app_template"
        ],
        "type": "string",
        "description": "* `container` - container\n* `repository` - repository\n* `source_upload` - source_upload\n* `app_template` - app_template"
      },
      "SourceKindEnum": {
        "enum": [
          "github",
          "local_git"
        ],
        "type": "string",
        "description": "* `github` - GitHub\n* `local_git` - Local Git upload"
      },
      "SourceProvenanceEnum": {
        "enum": [
          "github",
          "account_upload"
        ],
        "type": "string",
        "description": "* `github` - github\n* `account_upload` - account_upload"
      },
      "SourceUpload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "public_id": {
            "type": "string",
            "format": "uuid",
            "readOnly": true,
            "description": "Opaque externally addressable UUID identifier."
          },
          "repository_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Image associated with the resource; retained under the legacy database field name."
          },
          "commit_sha": {
            "type": "string",
            "readOnly": true,
            "description": "Commit sha."
          },
          "branch": {
            "type": "string",
            "readOnly": true,
            "description": "Branch."
          },
          "original_name": {
            "type": "string",
            "readOnly": true,
            "description": "Original name."
          },
          "transport_sha256": {
            "type": "string",
            "readOnly": true,
            "description": "Transport sha256."
          },
          "source_sha256": {
            "type": "string",
            "readOnly": true,
            "description": "Source sha256."
          },
          "size_bytes": {
            "type": "integer",
            "readOnly": true,
            "description": "Size bytes."
          },
          "expanded_size_bytes": {
            "type": "integer",
            "readOnly": true,
            "description": "Expanded size bytes."
          },
          "file_count": {
            "type": "integer",
            "readOnly": true,
            "description": "File count."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceUploadStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Current resource state."
          },
          "error_message": {
            "type": "string",
            "readOnly": true,
            "description": "Error message."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Expires at."
          },
          "purged_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "Purged at."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          }
        },
        "required": [
          "branch",
          "commit_sha",
          "created_at",
          "demo_id",
          "error_message",
          "expanded_size_bytes",
          "expires_at",
          "file_count",
          "id",
          "original_name",
          "public_id",
          "purged_at",
          "repository_id",
          "size_bytes",
          "source_sha256",
          "status",
          "transport_sha256"
        ],
        "additionalProperties": false
      },
      "SourceUploadStatusEnum": {
        "enum": [
          "uploaded",
          "ready",
          "consumed",
          "rejected",
          "purged"
        ],
        "type": "string",
        "description": "* `uploaded` - Uploaded\n* `ready` - Ready\n* `consumed` - Consumed\n* `rejected` - Rejected\n* `purged` - Purged"
      },
      "StartEnum": {
        "enum": [
          "checkpoint",
          "init",
          "per_instance"
        ],
        "type": "string"
      },
      "StateEnum": {
        "enum": [
          "queued",
          "launching",
          "running",
          "sleeping",
          "waking",
          "moving",
          "resetting",
          "expired",
          "deleting",
          "deleted",
          "failed"
        ],
        "type": "string",
        "description": "* `queued` - Queued\n* `launching` - Launching\n* `running` - Running\n* `sleeping` - Sleeping\n* `waking` - Waking\n* `moving` - Moving\n* `resetting` - Resetting to a clean copy\n* `expired` - Expired\n* `deleting` - Deleting\n* `deleted` - Deleted\n* `failed` - Failed"
      },
      "TokenCreatedResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Stable numeric resource identifier."
          },
          "name": {
            "type": "string",
            "description": "Human-readable resource name."
          },
          "prefix": {
            "type": "string",
            "description": "Prefix."
          },
          "permission": {
            "$ref": "#/components/schemas/TokenPermission",
            "description": "Permission."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Resource creation time."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Expires at."
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Last used at."
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Revoked at."
          },
          "status": {
            "$ref": "#/components/schemas/TokenStatus",
            "description": "Current resource state."
          },
          "value": {
            "type": "string",
            "description": "Complete PAT, revealed once."
          }
        },
        "required": [
          "created_at",
          "expires_at",
          "id",
          "last_used_at",
          "name",
          "permission",
          "prefix",
          "revoked_at",
          "status",
          "value"
        ],
        "additionalProperties": false
      },
      "TokenMetadataResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Stable numeric resource identifier."
          },
          "name": {
            "type": "string",
            "description": "Human-readable resource name."
          },
          "prefix": {
            "type": "string",
            "description": "Prefix."
          },
          "permission": {
            "$ref": "#/components/schemas/TokenPermission",
            "description": "Permission."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Resource creation time."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Expires at."
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Last used at."
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Revoked at."
          },
          "status": {
            "$ref": "#/components/schemas/TokenStatus",
            "description": "Current resource state."
          }
        },
        "required": [
          "created_at",
          "expires_at",
          "id",
          "last_used_at",
          "name",
          "permission",
          "prefix",
          "revoked_at",
          "status"
        ],
        "additionalProperties": false
      },
      "TokenPermission": {
        "enum": [
          "read",
          "write",
          "owner"
        ],
        "type": "string",
        "description": "* `read` - read\n* `write` - write\n* `owner` - owner"
      },
      "TokenStatus": {
        "enum": [
          "active",
          "expired",
          "revoked"
        ],
        "type": "string",
        "description": "* `active` - active\n* `expired` - expired\n* `revoked` - revoked"
      },
      "TokensResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TokenMetadataResponse"
            },
            "description": "Items in this response."
          }
        },
        "required": [
          "results"
        ],
        "additionalProperties": false
      },
      "UpdateImageRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "New image name.",
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "description": "Owner description."
          },
          "build_instructions": {
            "type": "string",
            "description": "Owner guidance supplied to subsequent builds.",
            "maxLength": 4000
          },
          "is_enabled": {
            "type": "boolean",
            "description": "Whether the image may be launched."
          }
        },
        "additionalProperties": false
      },
      "UpdateMemberRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationRole"
              }
            ],
            "description": "New organization role for the member.\n\n* `owner` - Owner\n* `admin` - Admin\n* `member` - Member"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false
      },
      "UpdateOrganizationRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "New human-readable organization name.",
            "maxLength": 255
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "UpdateRepositoryRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "is_enabled": {
            "type": "boolean",
            "description": "Whether this Fleet may accept launches."
          },
          "resource_class": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceClassEnum"
              }
            ],
            "description": "Runtime resource allocation class.\n\n* `tiny` - Tiny \u2014 0.25 vCPU, 512 MB\n* `small` - Small \u2014 0.5 vCPU, 1 GB\n* `database` - Database \u2014 0.5 vCPU, 1 GB\n* `standard` - Standard \u2014 1 vCPU, 2 GB\n* `medium` - Medium \u2014 2 vCPU, 4 GB\n* `large` - Large \u2014 4 vCPU, 8 GB"
          },
          "concurrency_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum simultaneous active instances."
          },
          "monthly_launch_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum launches in one billing month."
          },
          "max_session_duration_minutes": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum lifetime of one instance, in minutes."
          },
          "idle_timeout_minutes": {
            "type": "integer",
            "minimum": 1,
            "description": "Idle minutes before an instance sleeps."
          }
        },
        "additionalProperties": false
      },
      "UpdateSiteAccessInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "access": {
            "$ref": "#/components/schemas/AccessEnum",
            "description": "Access."
          }
        },
        "required": [
          "access"
        ],
        "additionalProperties": false
      },
      "UpdateSiteInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "access": {
            "$ref": "#/components/schemas/AccessEnum",
            "description": "Access."
          },
          "idle_after_seconds": {
            "type": "integer",
            "maximum": 86400,
            "minimum": 0,
            "description": "Idle after seconds."
          }
        },
        "additionalProperties": false
      },
      "Usage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "repository_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Image associated with the resource; retained under the legacy database field name."
          },
          "instance_id": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Runtime instance associated with this record."
          },
          "event_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventTypeEnum"
              }
            ],
            "readOnly": true,
            "description": "Event type."
          },
          "quantity": {
            "type": "string",
            "format": "decimal",
            "pattern": "^-?\\d{0,8}(?:\\.\\d{0,4})?$",
            "readOnly": true,
            "description": "Amount of usage in the event type unit."
          },
          "unit_cost_cents": {
            "type": "string",
            "format": "decimal",
            "pattern": "^-?\\d{0,6}(?:\\.\\d{0,4})?$",
            "readOnly": true,
            "description": "Cost per unit at the time of recording."
          },
          "total_cost_cents": {
            "type": "integer",
            "readOnly": true,
            "description": "Total cost for this ledger entry in cents."
          },
          "consumed_credits": {
            "type": "integer",
            "readOnly": true,
            "description": "Abstract credit units consumed by this event."
          },
          "recorded_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Recorded at."
          }
        },
        "required": [
          "consumed_credits",
          "demo_id",
          "event_type",
          "id",
          "instance_id",
          "quantity",
          "recorded_at",
          "repository_id",
          "total_cost_cents",
          "unit_cost_cents"
        ],
        "additionalProperties": false
      },
      "UsagePageResponse": {
        "type": "object",
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "Next cursor page URL."
          },
          "previous": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "Previous cursor page URL."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Usage"
            },
            "description": "Usage ledger entries on this page."
          },
          "summary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsageSummaryResponse"
              }
            ],
            "description": "Totals across the filtered usage ledger."
          }
        },
        "required": [
          "next",
          "previous",
          "results",
          "summary"
        ],
        "additionalProperties": false
      },
      "UsageSummaryResponse": {
        "type": "object",
        "properties": {
          "total_cost_cents": {
            "type": "integer",
            "description": "Total cost represented by the filtered ledger."
          },
          "consumed_credits": {
            "type": "integer",
            "description": "Total credits consumed by the filtered ledger."
          }
        },
        "required": [
          "consumed_credits",
          "total_cost_cents"
        ],
        "additionalProperties": false
      },
      "UserSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "User identifier."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Account email address."
          }
        },
        "required": [
          "email",
          "id"
        ],
        "additionalProperties": false
      },
      "ValueSourceEnum": {
        "enum": [
          "agent",
          "user"
        ],
        "type": "string",
        "description": "* `agent` - Agent generated\n* `user` - User customized"
      },
      "VerifyRegistrationInputRequest": {
        "type": "object",
        "description": "API input that rejects fields outside the published contract.",
        "properties": {
          "verification_token": {
            "type": "string",
            "minLength": 1,
            "description": "Verification token."
          },
          "token_name": {
            "type": "string",
            "minLength": 1,
            "default": "Initial API access",
            "maxLength": 120,
            "description": "Token name."
          },
          "expires_in_days": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExpiresInDaysEnum"
              }
            ],
            "default": 90,
            "description": "Expires in days."
          }
        },
        "required": [
          "verification_token"
        ],
        "additionalProperties": false
      },
      "Version": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true,
            "description": "Stable numeric resource identifier."
          },
          "repository_id": {
            "type": "integer",
            "readOnly": true,
            "description": "Source repository associated with the resource."
          },
          "demo_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Launchable demo that owns this immutable golden image.",
            "readOnly": true
          },
          "commit_sha": {
            "type": "string",
            "readOnly": true,
            "description": "Full Git commit SHA supplied by the source provider."
          },
          "source_kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceKindEnum"
              }
            ],
            "readOnly": true,
            "description": "Source kind."
          },
          "source_digest": {
            "type": "string",
            "readOnly": true,
            "description": "SHA-256 of the canonical source tree used by this build."
          },
          "commit_message": {
            "type": "string",
            "readOnly": true,
            "description": "First line of the commit message for display."
          },
          "application_name": {
            "type": "string",
            "readOnly": true,
            "description": "Application name selected by the build Agent."
          },
          "workspace_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WorkspaceModeEnum"
              }
            ],
            "readOnly": true,
            "description": "Workspace mode."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VersionStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Current resource state."
          },
          "security_scan_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SecurityScanStatusEnum"
              }
            ],
            "readOnly": true,
            "description": "Trusted local image security policy result.\n\n* `pending` - Pending\n* `passed` - Passed\n* `failed` - Failed\n* `error` - Scanner error"
          },
          "health_check_passed": {
            "type": "boolean",
            "readOnly": true,
            "description": "Health check passed."
          },
          "egress_profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EgressProfile"
              }
            ],
            "readOnly": true,
            "description": "Effective runtime network policy for this immutable version.\n\n* `none` - No public egress\n* `public_web` - DNS and public HTTP/HTTPS\n* `reviewed` - Reviewed public exceptions"
          },
          "effective_license_class": {
            "type": "string",
            "readOnly": true,
            "description": "Effective license class."
          },
          "effective_license_spdx_id": {
            "type": "string",
            "readOnly": true,
            "description": "Effective license spdx id."
          },
          "build_duration_ms": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true,
            "description": "Total build time in milliseconds."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "Resource creation time."
          },
          "published_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true,
            "description": "When the version was promoted to ready."
          }
        },
        "required": [
          "application_name",
          "build_duration_ms",
          "commit_message",
          "commit_sha",
          "created_at",
          "demo_id",
          "effective_license_class",
          "effective_license_spdx_id",
          "egress_profile",
          "health_check_passed",
          "id",
          "published_at",
          "repository_id",
          "security_scan_status",
          "source_digest",
          "source_kind",
          "status",
          "workspace_mode"
        ],
        "additionalProperties": false
      },
      "VersionEgressResponse": {
        "type": "object",
        "properties": {
          "egress_profile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EgressProfile"
              }
            ],
            "description": "Effective runtime egress profile.\n\n* `none` - No public egress\n* `public_web` - DNS and public HTTP/HTTPS\n* `reviewed` - Reviewed public exceptions"
          },
          "egress_exceptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EgressRuleResponse"
            },
            "description": "Reviewed destination exceptions."
          },
          "reviewed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Time the policy was last reviewed."
          }
        },
        "required": [
          "egress_exceptions",
          "egress_profile",
          "reviewed_at"
        ],
        "additionalProperties": false
      },
      "VersionStatusEnum": {
        "enum": [
          "building",
          "validating",
          "ready",
          "failed",
          "superseded"
        ],
        "type": "string",
        "description": "* `building` - Building\n* `validating` - Validating\n* `ready` - Ready\n* `failed` - Failed\n* `superseded` - Superseded"
      },
      "WorkspaceEnum": {
        "enum": [
          "web",
          "kubernetes",
          "static"
        ],
        "type": "string"
      },
      "WorkspaceModeEnum": {
        "enum": [
          "web",
          "kubernetes",
          "static"
        ],
        "type": "string",
        "description": "* `web` - Web\n* `kubernetes` - Kubernetes\n* `static` - Static"
      }
    },
    "securitySchemes": {
      "personalAccessToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "oli_pat_\u2026",
        "description": "Scoped personal access token created in Account \u2192 API tokens. The plaintext token is shown once."
      }
    }
  },
  "x-olibato-status": "private-beta",
  "x-olibato-feature-flag": "OLIBATO_REST_API_ENABLED",
  "servers": [
    {
      "url": "/v/api/v1"
    }
  ],
  "tags": [
    {
      "name": "Authentication"
    },
    {
      "name": "Account"
    },
    {
      "name": "Sites"
    },
    {
      "name": "App templates"
    },
    {
      "name": "Organizations"
    },
    {
      "name": "Repositories"
    },
    {
      "name": "Images"
    },
    {
      "name": "Sources"
    },
    {
      "name": "Builds"
    },
    {
      "name": "Fleets"
    },
    {
      "name": "Instances"
    }
  ]
}