Class: Anthropic::Resources::Beta::Organization::Workspaces::ServiceAccounts
- Inherits:
-
Object
- Object
- Anthropic::Resources::Beta::Organization::Workspaces::ServiceAccounts
- Defined in:
- lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb,
sig/anthropic/resources/beta/organization/workspaces/service_accounts.rbs
Instance Method Summary collapse
-
#add(workspace_id, service_account_id:, workspace_role:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the
org:adminscope, fromant auth login --scope org:adminor a workload identity federation rule; Admin API keys are not accepted. -
#initialize(client:) ⇒ ServiceAccounts
constructor
private
A new instance of ServiceAccounts.
-
#list(workspace_id, limit: nil, page: nil, betas: nil, request_options: {}) ⇒ Anthropic::Internal::PageCursor<Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember>
Requires an OAuth access token with the
org:adminscope, fromant auth login --scope org:adminor a workload identity federation rule; Admin API keys are not accepted. -
#remove(service_account_id, workspace_id:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::Workspaces::ServiceAccountRemoveResponse
Requires an OAuth access token with the
org:adminscope, fromant auth login --scope org:adminor a workload identity federation rule; Admin API keys are not accepted. -
#retrieve(service_account_id, workspace_id:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the
org:adminscope, fromant auth login --scope org:adminor a workload identity federation rule; Admin API keys are not accepted. -
#update(service_account_id, workspace_id:, workspace_role:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the
org:adminscope, fromant auth login --scope org:adminor a workload identity federation rule; Admin API keys are not accepted.
Constructor Details
#initialize(client:) ⇒ ServiceAccounts
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of ServiceAccounts.
241 242 243 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 241 def initialize(client:) @client = client end |
Instance Method Details
#add(workspace_id, service_account_id:, workspace_role:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the org:admin scope, from
ant auth login --scope org:admin or a workload identity federation rule; Admin
API keys are not accepted. See
Manage WIF with the Admin API.
Add a service account to a workspace with the given workspace_role.
The role determines what the service account can do in the workspace and which
workspace-scoped permissions it can be granted when authenticating through
federation. Every service account is already an implicit workspace_user member
of the default workspace; adding it explicitly assigns a chosen role. If the
service account is already an explicit member of the workspace, its
workspace_role is replaced with the value supplied here. Archived workspaces
return 400. Archived service accounts cannot be added and are rejected.
179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 179 def add(workspace_id, params) parsed, = Anthropic::Beta::Organization::Workspaces::ServiceAccountAddParams.dump_request(params) header_params = {betas: "anthropic-beta"} @client.request( method: :post, path: ["v1/organizations/workspaces/%1$s/service_accounts?beta=true", workspace_id], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Anthropic::Beta::Organization::BetaServiceAccountWorkspaceMember, options: ) end |
#list(workspace_id, limit: nil, page: nil, betas: nil, request_options: {}) ⇒ Anthropic::Internal::PageCursor<Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember>
Requires an OAuth access token with the org:admin scope, from
ant auth login --scope org:admin or a workload identity federation rule; Admin
API keys are not accepted. See
Manage WIF with the Admin API.
List the service accounts that are members of a workspace.
Each entry includes the service account's workspace_role. Use limit and the
next_page cursor to paginate. Archived workspaces return 400; use
GET /service_accounts/{id}/workspaces to audit memberships of an archived
workspace. The implicit default-workspace membership is not included in this
list. Memberships of archived service accounts are omitted from the results.
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 133 def list(workspace_id, params = {}) query_params = [:limit, :page] parsed, = Anthropic::Beta::Organization::Workspaces::ServiceAccountListParams.dump_request(params) query = Anthropic::Internal::Util.encode_query_params(parsed.slice(*query_params)) @client.request( method: :get, path: ["v1/organizations/workspaces/%1$s/service_accounts?beta=true", workspace_id], query: query, headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"), page: Anthropic::Internal::PageCursor, model: Anthropic::Beta::Organization::BetaServiceAccountWorkspaceMember, options: ) end |
#remove(service_account_id, workspace_id:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::Workspaces::ServiceAccountRemoveResponse
Requires an OAuth access token with the org:admin scope, from
ant auth login --scope org:admin or a workload identity federation rule; Admin
API keys are not accepted. See
Manage WIF with the Admin API.
Remove a service account from a workspace.
Removal is idempotent (returns 200 even if the membership was already removed).
A DELETE against the implicit default-workspace membership returns 200 but is a
no-op and the membership persists; deleting an explicit default-workspace row
reverts to the implicit workspace_user membership. Archived workspaces
return 400.
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 218 def remove(service_account_id, params) parsed, = Anthropic::Beta::Organization::Workspaces::ServiceAccountRemoveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: [ "v1/organizations/workspaces/%1$s/service_accounts/%2$s?beta=true", workspace_id, service_account_id ], headers: parsed.transform_keys(betas: "anthropic-beta"), model: Anthropic::Models::Beta::Organization::Workspaces::ServiceAccountRemoveResponse, options: ) end |
#retrieve(service_account_id, workspace_id:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the org:admin scope, from
ant auth login --scope org:admin or a workload identity federation rule; Admin
API keys are not accepted. See
Manage WIF with the Admin API.
Retrieve a service account's membership in a workspace.
Returns the membership record, including the service account's workspace_role
in this workspace. Archived workspaces return 400. For the default workspace,
returns the implicit (implicit: true) membership when no explicit membership
exists; an explicitly added membership is returned with its assigned role. An
archived service account returns 404.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 35 def retrieve(service_account_id, params) parsed, = Anthropic::Beta::Organization::Workspaces::ServiceAccountRetrieveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: [ "v1/organizations/workspaces/%1$s/service_accounts/%2$s?beta=true", workspace_id, service_account_id ], headers: parsed.transform_keys(betas: "anthropic-beta"), model: Anthropic::Beta::Organization::BetaServiceAccountWorkspaceMember, options: ) end |
#update(service_account_id, workspace_id:, workspace_role:, betas: nil, request_options: {}) ⇒ Anthropic::Models::Beta::Organization::BetaServiceAccountWorkspaceMember
Requires an OAuth access token with the org:admin scope, from
ant auth login --scope org:admin or a workload identity federation rule; Admin
API keys are not accepted. See
Manage WIF with the Admin API.
Change a service account's role in a workspace.
The new workspace_role replaces the current one. Only explicit memberships can
be updated; to set a role on the implicit default-workspace membership, add the
service account explicitly with
POST /workspaces/{workspace_id}/service_accounts. Archived workspaces
return 400. Archived service accounts cannot be updated and are rejected.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb', line 83 def update(service_account_id, params) parsed, = Anthropic::Beta::Organization::Workspaces::ServiceAccountUpdateParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do raise ArgumentError.new("missing required path argument #{_1}") end header_params = {betas: "anthropic-beta"} @client.request( method: :post, path: [ "v1/organizations/workspaces/%1$s/service_accounts/%2$s?beta=true", workspace_id, service_account_id ], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Anthropic::Beta::Organization::BetaServiceAccountWorkspaceMember, options: ) end |