Source Intelligence
Sweep 28 Aug 2026 · 00:00Z Build v2.1.250 478 read Stable v2.1.236 Latest v2.1.250 Next v2.1.250 Feeds RSS JSON llms.txt

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

One change

Workspaces

api/admin/workspaces

first seen The page's own history The capture it came from

Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

api/admin/workspaces Changed · +213 / -492 lines

### Headers ### Body parameters #### Response (200) ### Path parameters #### Response (200) ### Query parameters #### Response (200) ### Path parameters ### Body parameters #### Response (200) ### Path parameters #### Response (200) ## Workspaces › Members ### Create Workspace Member #### Path parameters #### Body parameters #### Returns #### Example ##### Response (200) ### Get Workspace Member #### Path parameters #### Returns #### Example ##### Response (200) ### List Workspace Members #### Path parameters #### Query parameters #### Returns #### Example ##### Response (200) ### Update Workspace Member #### Path parameters #### Body parameters #### Returns #### Example ##### Response (200) ### Delete Workspace Member #### Path parameters #### Returns #### Example ##### Response (200) ## Workspaces › Rate Limits ### List Workspace Rate Limits #### Path parameters #### Query parameters #### Returns #### Example ##### Response (200) ## Workspaces › Service Accounts ### Create Service Account Workspace Member #### Path parameters #### Headers #### Body parameters #### Returns #### Example ##### Response (200) ### Get Service Account Workspace Member #### Path parameters #### Headers #### Returns #### Example ##### Response (200) ### List Service Account Workspace Members #### Path parameters #### Query parameters #### Headers #### Returns #### Example ##### Response (200) ### Update Service Account Workspace Member #### Path parameters #### Headers #### Body parameters #### Returns #### Example ##### Response (200) ### Delete Service Account Workspace Member #### Path parameters #### Headers #### Returns #### Example ##### Response (200) ### Header Parameters ### Body Parameters #### Response ### Path Parameters #### Response ### Query Parameters #### Response ### Path Parameters ### Body Parameters #### Response ### Path Parameters #### Response # Members ## Create Workspace Member ### Path Parameters ### Body Parameters #### Response ## Get Workspace Member ### Path Parameters #### Response ## List Workspace Members ### Path Parameters ### Query Parameters #### Response ## Update Workspace Member ### Path Parameters ### Body Parameters #### Response ## Delete Workspace Member ### Path Parameters #### Response ## Domain Types ### Workspace Member ### Member Delete Response # Rate Limits ## List Workspace Rate Limits ### Path Parameters ### Query Parameters #### Response ## Domain Types ### Rate Limit List Response # Service Accounts ## Create Service Account Workspace Member ### Path Parameters ### Header Parameters ### Body Parameters #### Response ## Get Service Account Workspace Member ### Path Parameters ### Header Parameters #### Response ## List Service Account Workspace Members ### Path Parameters ### Query Parameters ### Header Parameters #### Response ## Update Service Account Workspace Member ### Path Parameters ### Header Parameters ### Body Parameters #### Response ## Delete Service Account Workspace Member ### Path Parameters ### Header Parameters #### Response ## Domain Types ### Service Account Create Response ### Service Account Retrieve Response ### Service Account List Response ### Service Account Update Response ### Service Account Delete Response

The two sides of this change are too far apart to line up, so this is the differ's own diff of it.

from line 1
----
-title: Workspaces
-url: https://platform.claude.com/docs/en/api/admin/workspaces
----
-
 # Workspaces
 
 ## Create Workspace
 
-**post** `/v1/organizations/workspaces`
+**POST** `/v1/organizations/workspaces`
 
 Create Workspace
 
-### Header Parameters
+### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 14
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Body Parameters
+### Body parameters
 
 - `name: string`
 
   Name of the Workspace.
 
-- `data_residency: optional object { allowed_inference_geos, default_inference_geo, workspace_geo }  or null`
+  maxLength: 40, minLength: 1
+
+- `data_residency: optional object or null`
 
   Data residency configuration for the workspace. If omitted, defaults to workspace_geo=`"us"`, allowed_inference_geos=`"unrestricted"`, and default_inference_geo=`"global"`.
 
from line 38
 
     - `"unrestricted"`
 
-      - `"unrestricted"`
-
   - `default_inference_geo: optional "global" or "us" or null`
 
     Default inference geo applied when requests omit the parameter. Defaults to 'global' if omitted. Must be a member of allowed_inference_geos unless allowed_inference_geos is `"unrestricted"`.
from line 49
   - `workspace_geo: optional "us" or null`
 
     Geographic region for workspace data storage. Immutable after creation. Defaults to 'us' if omitted.
-
-    - `"us"`
 
 - `external_key_id: optional string or null`
 
from line 66
 
 ### Returns
 
-- `Workspace object { id, archived_at, compartment_id, 7 more }`
+- `Workspace object`
 
   - `id: string`
 
from line 75
   - `archived_at: string or null`
 
     RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived.
+
+    format: date-time
 
   - `compartment_id: string`
 
from line 91
 
     RFC 3339 datetime string indicating when the Workspace was created.
 
-  - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }`
+    format: date-time
+
+  - `data_residency: object`
 
     Data residency configuration.
 
from line 104
       - `array of string`
 
       - `"unrestricted"`
-
-        - `"unrestricted"`
 
     - `default_inference_geo: string`
 
from line 141
 
     For Workspaces, this is always `"workspace"`.
 
-    - `"workspace"`
+    default: workspace
 
 ### Example
 
-```http
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 160
         }'
 ```
 
-#### Response
+#### Response (200)
 
 ```json
 {
from line 186
 
 ## Get Workspace
 
-**get** `/v1/organizations/workspaces/{workspace_id}`
+**GET** `/v1/organizations/workspaces/{workspace_id}`
 
 Get Workspace
 
-### Path Parameters
+### Path parameters
 
 - `workspace_id: string`
 
from line 198
 
 ### Returns
 
-- `Workspace object { id, archived_at, compartment_id, 7 more }`
+- `Workspace object`
 
   - `id: string`
 
from line 207
   - `archived_at: string or null`
 
     RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived.
+
+    format: date-time
 
   - `compartment_id: string`
 
from line 223
 
     RFC 3339 datetime string indicating when the Workspace was created.
 
-  - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }`
+    format: date-time
+
+  - `data_residency: object`
 
     Data residency configuration.
 
from line 236
       - `array of string`
 
       - `"unrestricted"`
-
-        - `"unrestricted"`
 
     - `default_inference_geo: string`
 
from line 273
 
     For Workspaces, this is always `"workspace"`.
 
-    - `"workspace"`
+    default: workspace
 
 ### Example
 
-```http
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+#### Response (200)
 
 ```json
 {
from line 309
 
 ## List Workspaces
 
-**get** `/v1/organizations/workspaces`
+**GET** `/v1/organizations/workspaces`
 
 List Workspaces
 
-### Query Parameters
+### Query parameters
 
 - `after_id: optional string`
 
from line 327
 
   Whether to include Workspaces that have been archived in the response
 
+  default: false
+
 - `limit: optional number`
 
   Number of items to return per page.
 
   Defaults to `20`. Ranges from `1` to `1000`.
 
+  default: 20, maximum: 1000, minimum: 1
+
 ### Returns
 
 - `data: array of Workspace`
from line 348
   - `archived_at: string or null`
 
     RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived.
+
+    format: date-time
 
   - `compartment_id: string`
 
from line 364
 
     RFC 3339 datetime string indicating when the Workspace was created.
 
-  - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }`
+    format: date-time
+
+  - `data_residency: object`
 
     Data residency configuration.
 
from line 377
       - `array of string`
 
       - `"unrestricted"`
-
-        - `"unrestricted"`
 
     - `default_inference_geo: string`
 
from line 414
 
     For Workspaces, this is always `"workspace"`.
 
-    - `"workspace"`
+    default: workspace
 
 - `first_id: string or null`
 
from line 430
 
 ### Example
 
-```http
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+#### Response (200)
 
 ```json
 {
from line 469
 
 ## Update Workspace
 
-**post** `/v1/organizations/workspaces/{workspace_id}`
+**POST** `/v1/organizations/workspaces/{workspace_id}`
 
 Update Workspace
 
-### Path Parameters
-
-- `workspace_id: string`
-
-### Body Parameters
-
-- `data_residency: optional object { allowed_inference_geos, default_inference_geo }  or null`
+### Path parameters
+
+- `workspace_id: string`
+
+### Body parameters
+
+- `data_residency: optional object or null`
 
   Data residency configuration for the workspace.
 
from line 494
       - `"us"`
 
     - `"unrestricted"`
-
-      - `"unrestricted"`
 
   - `default_inference_geo: optional "global" or "us" or null`
 
from line 517
 
   Name of the Workspace.
 
+  maxLength: 40, minLength: 1
+
 - `tags: optional map[string] or null`
 
   User-defined tags as string key-value pairs. Keys may not begin with `anthropic`.
 
 ### Returns
 
-- `Workspace object { id, archived_at, compartment_id, 7 more }`
+- `Workspace object`
 
   - `id: string`
 
from line 534
   - `archived_at: string or null`
 
     RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived.
+
+    format: date-time
 
   - `compartment_id: string`
 
from line 550
 
     RFC 3339 datetime string indicating when the Workspace was created.
 
-  - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }`
+    format: date-time
+
+  - `data_residency: object`
 
     Data residency configuration.
 
from line 563
       - `array of string`
 
       - `"unrestricted"`
-
-        - `"unrestricted"`
 
     - `default_inference_geo: string`
 
from line 600
 
     For Workspaces, this is always `"workspace"`.
 
-    - `"workspace"`
+    default: workspace
 
 ### Example
 
-```http
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 618
         }'
 ```
 
-#### Response
+#### Response (200)
 
 ```json
 {
from line 644
 
 ## Archive Workspace
 
-**post** `/v1/organizations/workspaces/{workspace_id}/archive`
+**POST** `/v1/organizations/workspaces/{workspace_id}/archive`
 
 Archive Workspace
 
-### Path Parameters
+### Path parameters
 
 - `workspace_id: string`
 
 ### Returns
 
-- `Workspace object { id, archived_at, compartment_id, 7 more }`
+- `Workspace object`
 
   - `id: string`
 
from line 663
   - `archived_at: string or null`
 
     RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived.
+
+    format: date-time
 
   - `compartment_id: string`
 
from line 679
 
     RFC 3339 datetime string indicating when the Workspace was created.
 
-  - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }`
+    format: date-time
+
+  - `data_residency: object`
 
     Data residency configuration.
 
from line 692
       - `array of string`
 
       - `"unrestricted"`
-
-        - `"unrestricted"`
 
     - `default_inference_geo: string`
 
from line 729
 
     For Workspaces, this is always `"workspace"`.
 
-    - `"workspace"`
+    default: workspace
 
 ### Example
 
-```http
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/archive \
     -X POST \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+#### Response (200)
 
 ```json
 {
from line 764
 }
 ```
 
-# Members
-
-## Create Workspace Member
-
-**post** `/v1/organizations/workspaces/{workspace_id}/members`
+## Workspaces › Members
+
+### Create Workspace Member
+
+**POST** `/v1/organizations/workspaces/{workspace_id}/members`
 
 Create Workspace Member
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
   ID of the Workspace.
 
-### Body Parameters
+#### Body parameters
 
 - `user_id: string`
 
from line 796
 
   - `"workspace_user"`
 
-### Returns
-
-- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }`
+#### Returns
+
+- `WorkspaceMember object`
 
   - `type: "workspace_member"`
 
from line 806
 
     For Workspace Members, this is always `"workspace_member"`.
 
-    - `"workspace_member"`
+    default: workspace_member
 
   - `user_id: string`
 
from line 830
 
     - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 843
         }'
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 854
 }
 ```
 
-## Get Workspace Member
-
-**get** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
+### Get Workspace Member
+
+**GET** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
 
 Get Workspace Member
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 870
 
   ID of the User.
 
-### Returns
-
-- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }`
+#### Returns
+
+- `WorkspaceMember object`
 
   - `type: "workspace_member"`
 
from line 880
 
     For Workspace Members, this is always `"workspace_member"`.
 
-    - `"workspace_member"`
+    default: workspace_member
 
   - `user_id: string`
 
from line 904
 
     - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 923
 }
 ```
 
-## List Workspace Members
-
-**get** `/v1/organizations/workspaces/{workspace_id}/members`
+### List Workspace Members
+
+**GET** `/v1/organizations/workspaces/{workspace_id}/members`
 
 List Workspace Members
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
   ID of the Workspace.
 
-### Query Parameters
+#### Query parameters
 
 - `after_id: optional string`
 
from line 951
 
   Defaults to `20`. Ranges from `1` to `1000`.
 
-### Returns
+  default: 20, maximum: 1000, minimum: 1
+
+#### Returns
 
 - `data: array of WorkspaceMember`
 
from line 963
 
     For Workspace Members, this is always `"workspace_member"`.
 
-    - `"workspace_member"`
+    default: workspace_member
 
   - `user_id: string`
 
from line 999
 
   Last ID in the `data` list. Can be used as the `after_id` for the next page.
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1025
 }
 ```
 
-## Update Workspace Member
-
-**post** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
+### Update Workspace Member
+
+**POST** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
 
 Update Workspace Member
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 1041
 
   ID of the User.
 
-### Body Parameters
+#### Body parameters
 
 - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
 
from line 1057
 
   - `"workspace_user"`
 
-### Returns
-
-- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }`
+#### Returns
+
+- `WorkspaceMember object`
 
   - `type: "workspace_member"`
 
from line 1067
 
     For Workspace Members, this is always `"workspace_member"`.
 
-    - `"workspace_member"`
+    default: workspace_member
 
   - `user_id: string`
 
from line 1091
 
     - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 1103
         }'
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1114
 }
 ```
 
-## Delete Workspace Member
-
-**delete** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
+### Delete Workspace Member
+
+**DELETE** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`
 
 Delete Workspace Member
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 1130
 
   ID of the User.
 
-### Returns
+#### Returns
 
 - `type: "workspace_member_deleted"`
 
from line 1138
 
   For Workspace Members, this is always `"workspace_member_deleted"`.
 
-  - `"workspace_member_deleted"`
+  default: workspace_member_deleted
 
 - `user_id: string`
 
from line 1148
 
   ID of the Workspace.
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \
     -X DELETE \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1167
 }
 ```
 
-## Domain Types
-
-### Workspace Member
-
-- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }`
-
-  - `type: "workspace_member"`
-
-    Object type.
-
-    For Workspace Members, this is always `"workspace_member"`.
-
-    - `"workspace_member"`
-
-  - `user_id: string`
-
-    ID of the User.
-
-  - `workspace_id: string`
-
-    ID of the Workspace.
-
-  - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
-
-    Role of the Workspace Member.
-
-    - `"workspace_admin"`
-
-    - `"workspace_billing"`
-
-    - `"workspace_developer"`
-
-    - `"workspace_restricted_developer"`
-
-    - `"workspace_user"`
-
-### Member Delete Response
-
-- `MemberDeleteResponse object { type, user_id, workspace_id }`
-
-  - `type: "workspace_member_deleted"`
-
-    Deleted object type.
-
-    For Workspace Members, this is always `"workspace_member_deleted"`.
-
-    - `"workspace_member_deleted"`
-
-  - `user_id: string`
-
-    ID of the User.
-
-  - `workspace_id: string`
-
-    ID of the Workspace.
-
-# Rate Limits
-
-## List Workspace Rate Limits
-
-**get** `/v1/organizations/workspaces/{workspace_id}/rate_limits`
+## Workspaces › Rate Limits
+
+### List Workspace Rate Limits
+
+**GET** `/v1/organizations/workspaces/{workspace_id}/rate_limits`
 
 List rate-limit overrides configured for a workspace.
 
from line 1179
 override. Groups without overrides inherit the organization limits and
 are not listed; use `GET /v1/organizations/rate_limits` to see those.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
   The ID of the workspace.
 
-### Query Parameters
+#### Query parameters
 
 - `group_type: optional "batch" or "files" or "model_group" or 3 more`
 
from line 1207
 
   Opaque cursor from a previous response's `next_page`.
 
-### Returns
-
-- `data: array of object { group_type, limits, models, 3 more }`
+#### Returns
+
+- `data: array of object`
 
   Rate-limit entries for the workspace, one per group that has at least one override.
 
from line 1229
 
     - `"web_search"`
 
-  - `limits: array of object { org_limit, type, value }`
+  - `limits: array of object`
 
     The limiter values overridden for this group in this workspace. Limiter types without a workspace override are omitted and inherit the organization value.
 
from line 1257
 
     Object type. Always `workspace_rate_limit` for workspace rate-limit entries.
 
-    - `"workspace_rate_limit"`
+    default: workspace_rate_limit
 
   - `workspace_id: string`
 
from line 1267
 
   Token to provide in as `page` in the subsequent request to retrieve the next page of data.
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/rate_limits \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1301
 }
 ```
 
-## Domain Types
-
-### Rate Limit List Response
-
-- `RateLimitListResponse object { data, next_page }`
-
-  - `data: array of object { group_type, limits, models, 3 more }`
-
-    Rate-limit entries for the workspace, one per group that has at least one override.
-
-    - `group_type: "batch" or "files" or "model_group" or 3 more`
-
-      The kind of rate-limit group this entry represents. `model_group` entries apply to a family of models (listed in `models`); other values apply to an API-surface category and have `models` set to `null`.
-
-      - `"batch"`
-
-      - `"files"`
-
-      - `"model_group"`
-
-      - `"skills"`
-
-      - `"token_count"`
-
-      - `"web_search"`
-
-    - `limits: array of object { org_limit, type, value }`
-
-      The limiter values overridden for this group in this workspace. Limiter types without a workspace override are omitted and inherit the organization value.
-
-      - `org_limit: number or null`
-
-        The organization-level value for the same limiter type, for reference. `null` when the organization has no limit configured for this limiter type.
-
-      - `type: string`
-
-        The limiter type (for example, `requests_per_minute` or `input_tokens_per_minute`).
-
-      - `value: number`
-
-        The workspace-level override value for this limiter type.
-
-    - `models: array of string or null`
-
-      Model names this entry's limits apply to, including aliases. `null` when `group_type` is not `"model_group"`.
-
-    - `rate_limit_id: string`
-
-      The `id` of the RateLimit group this override applies to.
-
-    - `type: "workspace_rate_limit"`
-
-      Object type. Always `workspace_rate_limit` for workspace rate-limit entries.
-
-      - `"workspace_rate_limit"`
-
-    - `workspace_id: string`
-
-      ID of the Workspace this override applies to.
-
-  - `next_page: string or null`
-
-    Token to provide in as `page` in the subsequent request to retrieve the next page of data.
-
-# Service Accounts
-
-## Create Service Account Workspace Member
-
-**post** `/v1/organizations/workspaces/{workspace_id}/service_accounts`
+## Workspaces › Service Accounts
+
+### Create Service Account Workspace Member
+
+**POST** `/v1/organizations/workspaces/{workspace_id}/service_accounts`
 
 Add a service account to a workspace with the given `workspace_role`.
 
from line 1319
 accounts cannot be added and are rejected. Requires an OAuth bearer or
 Console session; Admin API keys are not accepted.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
   ID of the workspace.
 
-### Header Parameters
+#### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 1333
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Body Parameters
+#### Body parameters
 
 - `service_account_id: string`
 
from line 1351
 
   - `"workspace_user"`
 
-### Returns
+#### Returns
 
 - `created_by_actor_id: string or null`
 
from line 1367
 
 - `type: "service_account_workspace_member"`
 
-  - `"service_account_workspace_member"`
+  default: service_account_workspace_member
 
 - `workspace_id: string`
 
from line 1387
 
   - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 1400
         }'
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1413
 }
 ```
 
-## Get Service Account Workspace Member
-
-**get** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
+### Get Service Account Workspace Member
+
+**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
 
 Retrieve a service account's membership in a workspace.
 
from line 1426
 membership is returned with its assigned role. An archived service
 account returns 404.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 1436
 
   ID of the service account.
 
-### Header Parameters
+#### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 1444
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Returns
+#### Returns
 
 - `created_by_actor_id: string or null`
 
from line 1460
 
 - `type: "service_account_workspace_member"`
 
-  - `"service_account_workspace_member"`
+  default: service_account_workspace_member
 
 - `workspace_id: string`
 
from line 1480
 
   - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1501
 }
 ```
 
-## List Service Account Workspace Members
-
-**get** `/v1/organizations/workspaces/{workspace_id}/service_accounts`
+### List Service Account Workspace Members
+
+**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts`
 
 List the service accounts that are members of a workspace.
 
from line 1514
 included in this list. Memberships of archived service accounts are
 omitted from the results.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
   ID of the workspace.
 
-### Query Parameters
+#### Query parameters
 
 - `limit: optional number`
 
   Number of results per page.
 
+  default: 20, maximum: 100, minimum: 1
+
 - `page: optional string`
 
   Opaque cursor from a previous response's `next_page`.
 
-### Header Parameters
+#### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 1540
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Returns
-
-- `data: array of object { created_by_actor_id, implicit, service_account_id, 3 more }`
+#### Returns
+
+- `data: array of object`
 
   - `created_by_actor_id: string or null`
 
from line 1558
 
   - `type: "service_account_workspace_member"`
 
-    - `"service_account_workspace_member"`
+    default: service_account_workspace_member
 
   - `workspace_id: string`
 
from line 1582
 
   Opaque cursor for the next page, or null if no more results.
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1608
 }
 ```
 
-## Update Service Account Workspace Member
-
-**post** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
+### Update Service Account Workspace Member
+
+**POST** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
 
 Change a service account's role in a workspace.
 
from line 1622
 rejected. Requires an OAuth bearer or Console session; Admin API keys
 are not accepted.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 1632
 
   ID of the service account.
 
-### Header Parameters
+#### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 1640
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Body Parameters
+#### Body parameters
 
 - `workspace_role: "workspace_admin" or "workspace_developer" or "workspace_restricted_developer" or "workspace_user"`
 
from line 1654
 
   - `"workspace_user"`
 
-### Returns
+#### Returns
 
 - `created_by_actor_id: string or null`
 
from line 1670
 
 - `type: "service_account_workspace_member"`
 
-  - `"service_account_workspace_member"`
+  default: service_account_workspace_member
 
 - `workspace_id: string`
 
from line 1690
 
   - `"workspace_user"`
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \
     -H 'Content-Type: application/json' \
     -H 'anthropic-version: 2023-06-01' \
from line 1702
         }'
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1715
 }
 ```
 
-## Delete Service Account Workspace Member
-
-**delete** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
+### Delete Service Account Workspace Member
+
+**DELETE** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}`
 
 Remove a service account from a workspace.
 
from line 1728
 membership. Archived workspaces return 400. Requires an OAuth bearer or
 Console session; Admin API keys are not accepted.
 
-### Path Parameters
+#### Path parameters
 
 - `workspace_id: string`
 
from line 1738
 
   ID of the service account.
 
-### Header Parameters
+#### Headers
 
 - `"anthropic-beta": optional array of string`
 
from line 1746
 
   To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
 
-### Returns
+#### Returns
 
 - `service_account_id: string`
 
from line 1754
 
 - `type: "service_account_workspace_member_deleted"`
 
-  - `"service_account_workspace_member_deleted"`
+  default: service_account_workspace_member_deleted
 
 - `workspace_id: string`
 
   Tagged workspace ID (`wrkspc_...`) named in the delete request.
 
-### Example
-
-```http
+#### Example
+
+```bash
 curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \
     -X DELETE \
     -H 'anthropic-version: 2023-06-01' \
     -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN"
 ```
 
-#### Response
+##### Response (200)
 
 ```json
 {
from line 1778
   "workspace_id": "workspace_id"
 }
 ```
-
-## Domain Types
-
-### Service Account Create Response
-
-- `ServiceAccountCreateResponse object { created_by_actor_id, implicit, service_account_id, 3 more }`
-
-  - `created_by_actor_id: string or null`
-
-    Tagged ID (`user_...`/`svac_...`) of the actor who created this membership.
-
-  - `implicit: boolean or null`
-
-    True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed.
-
-  - `service_account_id: string`
-
-    Tagged service account ID (`svac_...`).
-
-  - `type: "service_account_workspace_member"`
-
-    - `"service_account_workspace_member"`
-
-  - `workspace_id: string`
-
-    Tagged workspace ID (`wrkspc_...`).
-
-  - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
-
-    Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role.
-
-    - `"workspace_admin"`
-
-    - `"workspace_billing"`
-
-    - `"workspace_developer"`
-
-    - `"workspace_restricted_developer"`
-
-    - `"workspace_user"`
-
-### Service Account Retrieve Response
-
-- `ServiceAccountRetrieveResponse object { created_by_actor_id, implicit, service_account_id, 3 more }`
-
-  - `created_by_actor_id: string or null`
-
-    Tagged ID (`user_...`/`svac_...`) of the actor who created this membership.
-
-  - `implicit: boolean or null`
-
-    True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed.
-
-  - `service_account_id: string`
-
-    Tagged service account ID (`svac_...`).
-
-  - `type: "service_account_workspace_member"`
-
-    - `"service_account_workspace_member"`
-
-  - `workspace_id: string`
-
-    Tagged workspace ID (`wrkspc_...`).
-
-  - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
-
-    Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role.
-
-    - `"workspace_admin"`
-
-    - `"workspace_billing"`
-
-    - `"workspace_developer"`
-
-    - `"workspace_restricted_developer"`
-
-    - `"workspace_user"`
-
-### Service Account List Response
-
-- `ServiceAccountListResponse object { created_by_actor_id, implicit, service_account_id, 3 more }`
-
-  - `created_by_actor_id: string or null`
-
-    Tagged ID (`user_...`/`svac_...`) of the actor who created this membership.
-
-  - `implicit: boolean or null`
-
-    True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed.
-
-  - `service_account_id: string`
-
-    Tagged service account ID (`svac_...`).
-
-  - `type: "service_account_workspace_member"`
-
-    - `"service_account_workspace_member"`
-
-  - `workspace_id: string`
-
-    Tagged workspace ID (`wrkspc_...`).
-
-  - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
-
-    Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role.
-
-    - `"workspace_admin"`
-
-    - `"workspace_billing"`
-
-    - `"workspace_developer"`
-
-    - `"workspace_restricted_developer"`
-
-    - `"workspace_user"`
-
-### Service Account Update Response
-
-- `ServiceAccountUpdateResponse object { created_by_actor_id, implicit, service_account_id, 3 more }`
-
-  - `created_by_actor_id: string or null`
-
-    Tagged ID (`user_...`/`svac_...`) of the actor who created this membership.
-
-  - `implicit: boolean or null`
-
-    True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed.
-
-  - `service_account_id: string`
-
-    Tagged service account ID (`svac_...`).
-
-  - `type: "service_account_workspace_member"`
-
-    - `"service_account_workspace_member"`
-
-  - `workspace_id: string`
-
-    Tagged workspace ID (`wrkspc_...`).
-
-  - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
-
-    Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role.
-
-    - `"workspace_admin"`
-
-    - `"workspace_billing"`
-
-    - `"workspace_developer"`
-
-    - `"workspace_restricted_developer"`
-
-    - `"workspace_user"`
-
-### Service Account Delete Response
-
-- `ServiceAccountDeleteResponse object { service_account_id, type, workspace_id }`
-
-  - `service_account_id: string`
-
-    Tagged service account ID (`svac_...`) named in the delete request. Removal is idempotent; see the endpoint description for the implicit-membership no-op.
-
-  - `type: "service_account_workspace_member_deleted"`
-
-    - `"service_account_workspace_member_deleted"`
-
-  - `workspace_id: string`
-
-    Tagged workspace ID (`wrkspc_...`) named in the delete request.