{
  "openapi": "3.1.0",
  "info": {
    "title": "SandboxAPIs — Anthropic (paths only)",
    "version": "coverage-manifest-rev-5",
    "summary": "The 13 read paths SandboxAPIs serves on Anthropic.",
    "description": "Every read SandboxAPIs serves on Anthropic, pointed at https://anthropic.sandboxapis.dev.\n\n13 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://anthropic.sandboxapis.dev",
      "description": "The live Anthropic host"
    }
  ],
  "security": [
    {
      "sandboxapisKey": []
    }
  ],
  "components": {
    "securitySchemes": {
      "sandboxapisKey": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "x-api-key: <key>"
      }
    }
  },
  "paths": {
    "/v1/organizations/api_keys": {
      "get": {
        "summary": "GET /v1/organizations/api_keys",
        "operationId": "get_v1_organizations_api_keys",
        "tags": [
          "api-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."
          }
        }
      }
    },
    "/v1/organizations/api_keys/{api_key_id}": {
      "get": {
        "summary": "GET /v1/organizations/api_keys/{api_key_id}",
        "operationId": "get_v1_organizations_api_keys_api_key_id",
        "tags": [
          "api-keys"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "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."
          }
        }
      }
    },
    "/v1/organizations/cost_report": {
      "get": {
        "summary": "GET /v1/organizations/cost_report",
        "operationId": "get_v1_organizations_cost_report",
        "tags": [
          "usage-report"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/invites": {
      "get": {
        "summary": "GET /v1/organizations/invites",
        "operationId": "get_v1_organizations_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 already accepted; pending invites are not part of its story (DECISIONS 2026-08-16 [P27])",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/v1/organizations/me": {
      "get": {
        "summary": "GET /v1/organizations/me",
        "operationId": "get_v1_organizations_me",
        "tags": [
          "organization"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/usage_report/claude_code": {
      "get": {
        "summary": "GET /v1/organizations/usage_report/claude_code",
        "operationId": "get_v1_organizations_usage_report_claude_code",
        "tags": [
          "claude-code-analytics"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/usage_report/messages": {
      "get": {
        "summary": "GET /v1/organizations/usage_report/messages",
        "operationId": "get_v1_organizations_usage_report_messages",
        "tags": [
          "usage-report"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/users": {
      "get": {
        "summary": "GET /v1/organizations/users",
        "operationId": "get_v1_organizations_users",
        "tags": [
          "organization"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/users/{user_id}": {
      "get": {
        "summary": "GET /v1/organizations/users/{user_id}",
        "operationId": "get_v1_organizations_users_user_id",
        "tags": [
          "organization"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/workspaces": {
      "get": {
        "summary": "GET /v1/organizations/workspaces",
        "operationId": "get_v1_organizations_workspaces",
        "tags": [
          "workspaces"
        ],
        "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."
          }
        }
      }
    },
    "/v1/organizations/workspaces/{workspace_id}": {
      "get": {
        "summary": "GET /v1/organizations/workspaces/{workspace_id}",
        "operationId": "get_v1_organizations_workspaces_workspace_id",
        "tags": [
          "workspaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "workspace_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."
          }
        }
      }
    },
    "/v1/organizations/workspaces/{workspace_id}/members": {
      "get": {
        "summary": "GET /v1/organizations/workspaces/{workspace_id}/members",
        "operationId": "get_v1_organizations_workspaces_workspace_id_members",
        "tags": [
          "workspaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "workspace_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."
          }
        }
      }
    },
    "/v1/organizations/workspaces/{workspace_id}/members/{user_id}": {
      "get": {
        "summary": "GET /v1/organizations/workspaces/{workspace_id}/members/{user_id}",
        "operationId": "get_v1_organizations_workspaces_workspace_id_members_user_id",
        "tags": [
          "workspaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "workspace_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."
          }
        }
      }
    }
  }
}
