@anthropic-ai/sdk
Version:
The official TypeScript library for the Anthropic API
152 lines • 5.65 kB
TypeScript
import { APIResource } from "../../../../core/resource.js";
import * as MembersAPI from "./members.js";
import { BetaRBACGroupMember, BetaRBACGroupMembersPageCursor, MemberAddParams, MemberListParams, MemberRemoveParams, MemberRemoveResponse, Members } from "./members.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { PageCursor, type PageCursorParams, PagePromise } from "../../../../core/pagination.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class RBACGroups extends APIResource {
members: MembersAPI.Members;
/**
* Create an RBAC Group in the Claude Enterprise tenant. Groups created via the API
* have source type `"direct"`.
*
* The RBAC Groups API is available to Claude Enterprise organizations only.
*
* @example
* ```ts
* const betaRBACGroup =
* await client.beta.organization.rbacGroups.create({
* name: 'Engineering',
* });
* ```
*/
create(body: RBACGroupCreateParams, options?: RequestOptions): APIPromise<BetaRBACGroup>;
/**
* Retrieve an RBAC Group by ID.
*
* The RBAC Groups API is available to Claude Enterprise organizations only.
*
* @example
* ```ts
* const betaRBACGroup =
* await client.beta.organization.rbacGroups.retrieve(
* 'rbac_group_id',
* );
* ```
*/
retrieve(rbacGroupID: string, options?: RequestOptions): APIPromise<BetaRBACGroup>;
/**
* Update an RBAC Group's name. Groups provisioned by an identity provider (source
* type `"scim"`) cannot be modified via the API while an organization in the
* tenant uses SCIM provisioning.
*
* The RBAC Groups API is available to Claude Enterprise organizations only.
*
* @example
* ```ts
* const betaRBACGroup =
* await client.beta.organization.rbacGroups.update(
* 'rbac_group_id',
* );
* ```
*/
update(rbacGroupID: string, body: RBACGroupUpdateParams, options?: RequestOptions): APIPromise<BetaRBACGroup>;
/**
* List RBAC Groups in the Claude Enterprise tenant.
*
* The RBAC Groups API is available to Claude Enterprise organizations only.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const betaRBACGroup of client.beta.organization.rbacGroups.list()) {
* // ...
* }
* ```
*/
list(query?: RBACGroupListParams | null | undefined, options?: RequestOptions): PagePromise<BetaRBACGroupsPageCursor, BetaRBACGroup>;
/**
* Delete an RBAC Group. Groups provisioned by an identity provider (source type
* `"scim"`) cannot be deleted via the API while an organization in the tenant uses
* SCIM provisioning.
*
* The RBAC Groups API is available to Claude Enterprise organizations only.
*
* @example
* ```ts
* const rbacGroup =
* await client.beta.organization.rbacGroups.delete(
* 'rbac_group_id',
* );
* ```
*/
delete(rbacGroupID: string, options?: RequestOptions): APIPromise<RBACGroupDeleteResponse>;
}
export type BetaRBACGroupsPageCursor = PageCursor<BetaRBACGroup>;
export interface BetaRBACGroup {
/**
* ID of the RBAC Group.
*/
id: string;
/**
* RFC 3339 timestamp of when the RBAC Group was created.
*/
created_at: string;
/**
* Name of the RBAC Group. Not uniqueness-enforced.
*/
name: string;
/**
* RBAC Role IDs attached to this RBAC Group. Role attachment is managed in the
* admin settings and is read-only on this API. `null` means role data was
* temporarily unavailable — retry to distinguish from an empty list.
*/
role_ids: Array<string> | null;
/**
* How the RBAC Group was created: `"direct"` for groups created directly (for
* example, in the organization's admin settings), `"scim"` for groups provisioned
* by the identity provider.
*/
source_type: 'direct' | 'scim';
/**
* Object type.
*
* For RBAC Groups, this is always `"rbac_group"`.
*/
type: 'rbac_group';
/**
* RFC 3339 timestamp of when the RBAC Group was last updated.
*/
updated_at: string;
}
export interface RBACGroupDeleteResponse {
/**
* ID of the RBAC Group.
*/
id: string;
/**
* Deleted object type.
*
* For RBAC Groups, this is always `"rbac_group_deleted"`.
*/
type: 'rbac_group_deleted';
}
export interface RBACGroupCreateParams {
/**
* Name of the RBAC Group. Not uniqueness-enforced.
*/
name: string;
}
export interface RBACGroupUpdateParams {
/**
* Name of the RBAC Group. Not uniqueness-enforced.
*/
name?: string | null;
}
export interface RBACGroupListParams extends PageCursorParams {
}
export declare namespace RBACGroups {
export { type BetaRBACGroup as BetaRBACGroup, type RBACGroupDeleteResponse as RBACGroupDeleteResponse, type BetaRBACGroupsPageCursor as BetaRBACGroupsPageCursor, type RBACGroupCreateParams as RBACGroupCreateParams, type RBACGroupUpdateParams as RBACGroupUpdateParams, type RBACGroupListParams as RBACGroupListParams, };
export { Members as Members, type BetaRBACGroupMember as BetaRBACGroupMember, type MemberRemoveResponse as MemberRemoveResponse, type BetaRBACGroupMembersPageCursor as BetaRBACGroupMembersPageCursor, type MemberListParams as MemberListParams, type MemberAddParams as MemberAddParams, type MemberRemoveParams as MemberRemoveParams, };
}
//# sourceMappingURL=rbac-groups.d.ts.map