Claude Platform Docs

Service Accounts

Create Service Account
beta.organization.service_accounts.create(**kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts
List Service Accounts
beta.organization.service_accounts.list(**kwargs) -> PageCursor<BetaServiceAccount>
GET/v1/organizations/service_accounts
Get Service Account
beta.organization.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccount
GET/v1/organizations/service_accounts/{service_account_id}
Update Service Account
beta.organization.service_accounts.update(service_account_id, **kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts/{service_account_id}
Archive Service Account
beta.organization.service_accounts.archive(service_account_id, **kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts/{service_account_id}/archive
Models
class BetaServiceAccount { id, archived_at, archived_by_actor_id, 8 more }

Named non-human identity within the caller's organization.

A service account is a pure identity: name + org. Authorization lives on whatever references it (federation rules).

class BetaServiceAccountWorkspaceMember { created_by_actor_id, implicit, service_account_id, 3 more }
created_by_actor_id: String

Tagged ID (user_.../svac_...) of the actor who created this membership.

implicit: bool

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
workspace_id: String

Tagged workspace ID (wrkspc_...).

workspace_role: BetaWorkspaceRole

Role of the service account in this workspace. Service accounts cannot hold the workspace_billing role.

One of the following:
:workspace_admin
:workspace_billing
:workspace_developer
:workspace_restricted_developer
:workspace_user

Service AccountsWorkspaces

Add Workspace To Service Account
beta.organization.service_accounts.workspaces.add(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember
POST/v1/organizations/service_accounts/{service_account_id}/workspaces
List Workspaces For Service Account
beta.organization.service_accounts.workspaces.list(service_account_id, **kwargs) -> PageCursor<BetaServiceAccountWorkspaceMember>
GET/v1/organizations/service_accounts/{service_account_id}/workspaces
Remove Workspace From Service Account
beta.organization.service_accounts.workspaces.remove(workspace_id, **kwargs) -> WorkspaceRemoveResponse
DELETE/v1/organizations/service_accounts/{service_account_id}/workspaces/{workspace_id}