{
  "openapi": "3.1.0",
  "info": {
    "title": "SandboxAPIs — OpenAI (paths only)",
    "version": "coverage-manifest-rev-5",
    "summary": "The 53 read paths SandboxAPIs serves on OpenAI.",
    "description": "Every read SandboxAPIs serves on OpenAI, pointed at https://openai.sandboxapis.dev/v1.\n\n53 requests, one per served row of our coverage manifest. PATHS ONLY: this file carries no request or\nresponse schema, because a schema is the part of an API description we do not own. It is generated from\ncoverage/COVERAGE_MANIFEST.yaml — our own record of what THIS host answers — and never from a vendor's\npublished specification, several of which may not be redistributed.\n\nThe host is read-only. Every write verb answers the provider's own error shape with a message naming what was\nattempted; the \"Read-only refusal, on purpose\" folder holds one so the shape is discoverable.\n\nNo credentials are needed — any value in `apiKey` is accepted, and a real SandboxAPIs key only raises the rate\nlimit. Path variables left blank are identifiers that move when the live host re-rolls; fill them from a list\nresponse."
  },
  "servers": [
    {
      "url": "https://openai.sandboxapis.dev/v1",
      "description": "The live OpenAI host"
    }
  ],
  "security": [
    {
      "sandboxapisKey": []
    }
  ],
  "components": {
    "securitySchemes": {
      "sandboxapisKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authorization: Bearer <key>"
      }
    }
  },
  "paths": {
    "/models": {
      "get": {
        "summary": "GET /models",
        "operationId": "get_models",
        "tags": [
          "models"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/models/{model}": {
      "get": {
        "summary": "GET /models/{model}",
        "operationId": "get_models_model",
        "tags": [
          "models"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "model",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/admin_api_keys": {
      "get": {
        "summary": "GET /organization/admin_api_keys",
        "operationId": "get_organization_admin_api_keys",
        "tags": [
          "admin-keys"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/admin_api_keys/{key_id}": {
      "get": {
        "summary": "GET /organization/admin_api_keys/{key_id}",
        "operationId": "get_organization_admin_api_keys_key_id",
        "tags": [
          "admin-keys"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/audit_logs": {
      "get": {
        "summary": "GET /organization/audit_logs",
        "operationId": "get_organization_audit_logs",
        "tags": [
          "audit-logs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/certificates": {
      "get": {
        "summary": "GET /organization/certificates",
        "operationId": "get_organization_certificates",
        "tags": [
          "certificates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. OpenAI answers {\"data\": []} to an admin key for the org certificate list when no mTLS certificate has been uploaded, and this org uploaded none — refusing would be false to the provider",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/costs": {
      "get": {
        "summary": "GET /organization/costs",
        "operationId": "get_organization_costs",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/data_retention": {
      "get": {
        "summary": "GET /organization/data_retention",
        "operationId": "get_organization_data_retention",
        "tags": [
          "data-retention"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups": {
      "get": {
        "summary": "GET /organization/groups",
        "operationId": "get_organization_groups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups/{group_id}": {
      "get": {
        "summary": "GET /organization/groups/{group_id}",
        "operationId": "get_organization_groups_group_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups/{group_id}/roles": {
      "get": {
        "summary": "GET /organization/groups/{group_id}/roles",
        "operationId": "get_organization_groups_group_id_roles",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups/{group_id}/roles/{role_id}": {
      "get": {
        "summary": "GET /organization/groups/{group_id}/roles/{role_id}",
        "operationId": "get_organization_groups_group_id_roles_role_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups/{group_id}/users": {
      "get": {
        "summary": "GET /organization/groups/{group_id}/users",
        "operationId": "get_organization_groups_group_id_users",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/groups/{group_id}/users/{user_id}": {
      "get": {
        "summary": "GET /organization/groups/{group_id}/users/{user_id}",
        "operationId": "get_organization_groups_group_id_users_user_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/invites": {
      "get": {
        "summary": "GET /organization/invites",
        "operationId": "get_organization_invites",
        "tags": [
          "invites"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Every member of this org accepted; no invite is pending (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects": {
      "get": {
        "summary": "GET /organization/projects",
        "operationId": "get_organization_projects",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}": {
      "get": {
        "summary": "GET /organization/projects/{project_id}",
        "operationId": "get_organization_projects_project_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/api_keys": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/api_keys",
        "operationId": "get_organization_projects_project_id_api_keys",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/api_keys/{api_key_id}": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/api_keys/{api_key_id}",
        "operationId": "get_organization_projects_project_id_api_keys_api_key_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/certificates": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/certificates",
        "operationId": "get_organization_projects_project_id_certificates",
        "tags": [
          "certificates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. OpenAI answers {\"data\": []} to an admin key for a project certificate list when no mTLS certificate has been uploaded, and this org uploaded none — refusing would be false to the provider",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/data_retention": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/data_retention",
        "operationId": "get_organization_projects_project_id_data_retention",
        "tags": [
          "data-retention"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/groups": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/groups",
        "operationId": "get_organization_projects_project_id_groups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No identity group has access to a project, and no generation of this universe grants one. The vendored summary on list-project-groups is \"Lists the groups that have ACCESS to a project\" and its item, ProjectGroup, is a GRANT object (object + project_id + group_id + group_name + group_type + created_at) rather than a group — so this list can only carry rows canon does not have. hello-17's features.grants writes one `scope_kind = 'group'` membership per identity group, which attaches the group to a ROLE; IdentityGroup itself carries an org, a provider, a name slot, a member list and a creation instant and nothing that names a container, and a project on this host is minted per TEAM holding a codex seat (renderer-openai/src/render.ts projects()) with no group on either side of it. UNGATED BY GENERATION, deliberately: a generation gap would say the caller's snapshot is too old to answer where the true statement is that the answer is the same on every snapshot there is. The project still has to resolve — a ruling about a project nobody has is a typo answered confidently — and the bounds validated are this operation's own (limit 0..100 default 20, order default asc), which differ from every sibling's. FOUNDER RULING 2026-09-11, round 17",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/model_permissions": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/model_permissions",
        "operationId": "get_organization_projects_project_id_model_permissions",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. An empty DENY list — no model is denied, which is exactly a universe with no restriction evidence; an empty ALLOW list would claim no model may be called, which the usage report disproves (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/rate_limits": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/rate_limits",
        "operationId": "get_organization_projects_project_id_rate_limits",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. These are policy NUMBERS and this org configures no override; any figure printed here would be a placeholder copied off the spec's example, which invariant #4 forbids. The empty list says 'no override configured' (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/service_accounts": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/service_accounts",
        "operationId": "get_organization_projects_project_id_service_accounts",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The canon's only non-human identity is the CI bot: it holds no codex seat, belongs to no team and produced no OpenAI usage, so nothing here is a project-scoped machine identity (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/spend_alerts": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/spend_alerts",
        "operationId": "get_organization_projects_project_id_spend_alerts",
        "tags": [
          "spend-alerts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/spend_alerts/{alert_id}": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/spend_alerts/{alert_id}",
        "operationId": "get_organization_projects_project_id_spend_alerts_alert_id",
        "tags": [
          "spend-alerts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "alert_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/spend_limit": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/spend_limit",
        "operationId": "get_organization_projects_project_id_spend_limit",
        "tags": [
          "<none>"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/users": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/users",
        "operationId": "get_organization_projects_project_id_users",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/projects/{project_id}/users/{user_id}": {
      "get": {
        "summary": "GET /organization/projects/{project_id}/users/{user_id}",
        "operationId": "get_organization_projects_project_id_users_user_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/roles": {
      "get": {
        "summary": "GET /organization/roles",
        "operationId": "get_organization_roles",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/roles/{role_id}": {
      "get": {
        "summary": "GET /organization/roles/{role_id}",
        "operationId": "get_organization_roles_role_id",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/spend_alerts": {
      "get": {
        "summary": "GET /organization/spend_alerts",
        "operationId": "get_organization_spend_alerts",
        "tags": [
          "spend-alerts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/spend_alerts/{alert_id}": {
      "get": {
        "summary": "GET /organization/spend_alerts/{alert_id}",
        "operationId": "get_organization_spend_alerts_alert_id",
        "tags": [
          "spend-alerts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "alert_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/spend_limit": {
      "get": {
        "summary": "GET /organization/spend_limit",
        "operationId": "get_organization_spend_limit",
        "tags": [
          "<none>"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/audio_speeches": {
      "get": {
        "summary": "GET /organization/usage/audio_speeches",
        "operationId": "get_organization_usage_audio_speeches",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no speech usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/audio_transcriptions": {
      "get": {
        "summary": "GET /organization/usage/audio_transcriptions",
        "operationId": "get_organization_usage_audio_transcriptions",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no transcription usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/code_interpreter_sessions": {
      "get": {
        "summary": "GET /organization/usage/code_interpreter_sessions",
        "operationId": "get_organization_usage_code_interpreter_sessions",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no code-interpreter usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/completions": {
      "get": {
        "summary": "GET /organization/usage/completions",
        "operationId": "get_organization_usage_completions",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/embeddings": {
      "get": {
        "summary": "GET /organization/usage/embeddings",
        "operationId": "get_organization_usage_embeddings",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no embedding usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/file_search_calls": {
      "get": {
        "summary": "GET /organization/usage/file_search_calls",
        "operationId": "get_organization_usage_file_search_calls",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no file-search usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/images": {
      "get": {
        "summary": "GET /organization/usage/images",
        "operationId": "get_organization_usage_images",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no image usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/moderations": {
      "get": {
        "summary": "GET /organization/usage/moderations",
        "operationId": "get_organization_usage_moderations",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no moderation usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/vector_stores": {
      "get": {
        "summary": "GET /organization/usage/vector_stores",
        "operationId": "get_organization_usage_vector_stores",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no vector-store usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/usage/web_search_calls": {
      "get": {
        "summary": "GET /organization/usage/web_search_calls",
        "operationId": "get_organization_usage_web_search_calls",
        "tags": [
          "usage"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This org's OpenAI story is coding: it recorded no web-search usage in the window, so the family's page is real, spec-validating and empty (DECISIONS 2026-08-20 [P31/openai])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/users": {
      "get": {
        "summary": "GET /organization/users",
        "operationId": "get_organization_users",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/users/{user_id}": {
      "get": {
        "summary": "GET /organization/users/{user_id}",
        "operationId": "get_organization_users_user_id",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/users/{user_id}/roles": {
      "get": {
        "summary": "GET /organization/users/{user_id}/roles",
        "operationId": "get_organization_users_user_id_roles",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/organization/users/{user_id}/roles/{role_id}": {
      "get": {
        "summary": "GET /organization/users/{user_id}/roles/{role_id}",
        "operationId": "get_organization_users_user_id_roles_role_id",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/projects/{project_id}/roles": {
      "get": {
        "summary": "GET /projects/{project_id}/roles",
        "operationId": "get_projects_project_id_roles",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/projects/{project_id}/roles/{role_id}": {
      "get": {
        "summary": "GET /projects/{project_id}/roles/{role_id}",
        "operationId": "get_projects_project_id_roles_role_id",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/projects/{project_id}/users/{user_id}/roles": {
      "get": {
        "summary": "GET /projects/{project_id}/users/{user_id}/roles",
        "operationId": "get_projects_project_id_users_user_id_roles",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/projects/{project_id}/users/{user_id}/roles/{role_id}": {
      "get": {
        "summary": "GET /projects/{project_id}/users/{user_id}/roles/{role_id}",
        "operationId": "get_projects_project_id_users_user_id_roles_role_id",
        "tags": [
          "roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    }
  }
}
