{"openapi":"3.1.0","info":{"title":"Anthropic organization admin, usage and cost (your key) API","version":"0.1.0","description":"Anthropic organization admin, usage and cost (your key) lets an AI assistant read your own Anthropic Admin data through the Anthropic Admin API with a key you supply (Anthropic Admin API key). Read-only: 9 tools (get_organization, get_messages_usage_report, get_cost_report, list_workspaces, get_workspace, list_api_keys, get_api_key, list_organization_rate_limits, list_workspace_rate_limits). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-anthropic-admin.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-anthropic-admin/docs"},"termsOfService":"https://connectorbay.com/byok-anthropic-admin/terms"},"servers":[{"url":"https://byok-anthropic-admin.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-anthropic-admin/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get the organization the Admin API key belongs to: its id and name. Needs an Admin API key (starts with sk-ant-admin), w","description":"Get the organization the Admin API key belongs to: its id and name. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"Which Anthropic organization is my admin key for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_messages_usage_report":{"post":{"operationId":"get_messages_usage_report","summary":"Get token usage of the Messages API in time buckets (daily by default): uncached and cached input tokens, cache writes, ","description":"Get token usage of the Messages API in time buckets (daily by default): uncached and cached input tokens, cache writes, output tokens and web search requests, optionally grouped by one dimension. Reads reports only and sends no prompt. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"How many tokens did my Anthropic organization use per model last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"starting_at":{"description":"Start of the time range, RFC 3339 UTC time such as 2026-10-01T00:00:00Z. Buckets are snapped to the start of the day, hour or minute.","maxLength":40,"title":"Starting At","type":"string"},"ending_at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Optional end of the time range (exclusive), RFC 3339 UTC time.","title":"Ending At"},"bucket_width":{"anyOf":[{"enum":["1d","1h","1m"],"type":"string"},{"type":"null"}],"default":"1d","description":"Bucket size: 1d (default, up to 31 buckets), 1h (up to 168) or 1m (up to 1440).","title":"Bucket Width"},"group_by":{"anyOf":[{"enum":["model","workspace_id","api_key_id","service_tier","context_window","inference_geo","speed"],"type":"string"},{"type":"null"}],"default":null,"description":"Optional single dimension to split usage by.","title":"Group By"},"limit":{"anyOf":[{"maximum":1440,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of time buckets to return; the default and maximum depend on bucket_width (7 and 31 for 1d).","title":"Limit"},"page":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the next_page value of the previous answer.","title":"Page"}},"required":["starting_at"],"title":"get_messages_usage_reportArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_cost_report":{"post":{"operationId":"get_cost_report","summary":"Get the organization's daily cost in USD (amounts in cents as decimal strings), optionally grouped by workspace or by co","description":"Get the organization's daily cost in USD (amounts in cents as decimal strings), optionally grouped by workspace or by cost description such as model and token type. Reads reports only. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"How much did my Anthropic organization spend in the last 7 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"starting_at":{"description":"Start of the time range, RFC 3339 UTC time such as 2026-10-01T00:00:00Z. Buckets are snapped to the start of the day, hour or minute.","maxLength":40,"title":"Starting At","type":"string"},"ending_at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Optional end of the time range (exclusive), RFC 3339 UTC time.","title":"Ending At"},"group_by":{"anyOf":[{"enum":["workspace_id","description"],"type":"string"},{"type":"null"}],"default":null,"description":"Optional single dimension to split cost by: workspace_id or description (model, token type, tier).","title":"Group By"},"limit":{"anyOf":[{"maximum":31,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of daily buckets to return (1 to 31, default 7).","title":"Limit"},"page":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the next_page value of the previous answer.","title":"Page"}},"required":["starting_at"],"title":"get_cost_reportArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_workspaces":{"post":{"operationId":"list_workspaces","summary":"List the organization's workspaces with name, creation and archive dates, data residency settings and tags. Needs an Adm","description":"List the organization's workspaces with name, creation and archive dates, data residency settings and tags. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"What workspaces does my Anthropic organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"include_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include archived workspaces.","title":"Include Archived"},"include_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include the organization's default workspace.","title":"Include Default"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 1000).","title":"Limit"},"after_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for paging: the last_id of the previous page, to get the next page.","title":"After Id"},"before_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for paging: the first_id of the next page, to get the previous page.","title":"Before Id"}},"title":"list_workspacesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_workspace":{"post":{"operationId":"get_workspace","summary":"Get one workspace by id: name, dates, data residency and tags. Needs an Admin API key (starts with sk-ant-admin), which ","description":"Get one workspace by id: name, dates, data residency and tags. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"Show details of Anthropic workspace wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id, for example 'wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'.","maxLength":100,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"get_workspaceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_api_keys":{"post":{"operationId":"list_api_keys","summary":"List the organization's API keys (metadata only: name, status, workspace, creation and expiry dates; no key value is ret","description":"List the organization's API keys (metadata only: name, status, workspace, creation and expiry dates; no key value is returned), filterable by status or workspace. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"Which of my Anthropic API keys are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["active","inactive","archived","expired"],"type":"string"},{"type":"null"}],"default":null,"description":"Only keys with this status.","title":"Status"},"workspace_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only keys of this workspace id.","title":"Workspace Id"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 1000).","title":"Limit"},"after_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for paging: the last_id of the previous page, to get the next page.","title":"After Id"},"before_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for paging: the first_id of the next page, to get the previous page.","title":"Before Id"}},"title":"list_api_keysArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_api_key":{"post":{"operationId":"get_api_key","summary":"Get metadata of one API key by id: name, status, workspace and dates. No key value is returned. Needs an Admin API key (","description":"Get metadata of one API key by id: name, status, workspace and dates. No key value is returned. Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"Show details of Anthropic API key apikey_01Rj2N8SVvo6BePZj99NhmiT\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"api_key_id":{"description":"API key id, for example 'apikey_01Rj2N8SVvo6BePZj99NhmiT'.","maxLength":100,"title":"Api Key Id","type":"string"}},"required":["api_key_id"],"title":"get_api_keyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_organization_rate_limits":{"post":{"operationId":"list_organization_rate_limits","summary":"List the organization's Messages API rate limits per model group or API category (requests and tokens per minute). Needs","description":"List the organization's Messages API rate limits per model group or API category (requests and tokens per minute). Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"What are my organization's Claude rate limits\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_type":{"anyOf":[{"enum":["model_group","batch","files","skills","token_count","web_search"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of group.","title":"Group Type"},"model":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the entry containing this model name or alias.","title":"Model"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum entries per page (1 to 1000); omit to get every entry.","title":"Limit"},"page":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the next_page value of the previous answer.","title":"Page"}},"title":"list_organization_rate_limitsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_workspace_rate_limits":{"post":{"operationId":"list_workspace_rate_limits","summary":"List the rate limit overrides of one workspace (add include_inherited to also see values inherited from the organization","description":"List the rate limit overrides of one workspace (add include_inherited to also see values inherited from the organization). Needs an Admin API key (starts with sk-ant-admin), which only organization admins can create. Use for \"What rate limits does Anthropic workspace wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id, for example 'wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'.","maxLength":100,"title":"Workspace Id","type":"string"},"include_inherited":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include limits inherited from the organization.","title":"Include Inherited"},"group_type":{"anyOf":[{"enum":["model_group","batch","files","skills","token_count","web_search"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this kind of group.","title":"Group Type"},"page":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the next_page value of the previous answer.","title":"Page"}},"required":["workspace_id"],"title":"list_workspace_rate_limitsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}