UNPKG

@anthropic-ai/sdk

Version:
125 lines • 4.04 kB
import { APIResource } from "../../../core/resource.js"; import * as OrganizationAPI from "./organization.js"; import { APIPromise } from "../../../core/api-promise.js"; import { Page, type PageParams, PagePromise } from "../../../core/pagination.js"; import { RequestOptions } from "../../../internal/request-options.js"; export declare class Users extends APIResource { /** * Retrieve a member of the organization by user ID. * * @example * ```ts * const betaOrganizationUser = * await client.beta.organization.users.retrieve('user_id'); * ``` */ retrieve(userID: string, options?: RequestOptions): APIPromise<BetaOrganizationUser>; /** * Update a member's organization role. * * @example * ```ts * const betaOrganizationUser = * await client.beta.organization.users.update('user_id', { * role: 'user', * }); * ``` */ update(userID: string, body: UserUpdateParams, options?: RequestOptions): APIPromise<BetaOrganizationUser>; /** * List the organization's members. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const betaOrganizationUser of client.beta.organization.users.list()) { * // ... * } * ``` */ list(query?: UserListParams | null | undefined, options?: RequestOptions): PagePromise<BetaOrganizationUsersPage, BetaOrganizationUser>; /** * Remove a member from the organization. * * @example * ```ts * const user = await client.beta.organization.users.remove( * 'user_id', * ); * ``` */ remove(userID: string, options?: RequestOptions): APIPromise<UserRemoveResponse>; } export type BetaOrganizationUsersPage = Page<BetaOrganizationUser>; export interface BetaOrganizationUser { /** * ID of the User. */ id: string; /** * RFC 3339 datetime string indicating when the User joined the Organization. */ added_at: string; /** * Email of the User. */ email: string; /** * Name of the User. */ name: string; /** * Organization role of the User. */ role: OrganizationAPI.BetaOrganizationRole; /** * Object type. * * For Users, this is always `"user"`. */ type: 'user'; } export interface UserRemoveResponse { /** * ID of the User. */ id: string; /** * Deleted object type. * * For Users, this is always `"user_deleted"`. */ type: 'user_deleted'; } export interface UserUpdateParams { /** * New role for the User. * * The accepted values depend on the organization type. Console and API * organizations accept `user`, `developer`, `billing`, and `claude_code_user`; * `admin` cannot be assigned through the API. Claude Enterprise organizations * accept `user` and `managed`; changing a User's role to `managed` requires the * `write:rbac_groups` scope in addition to `write:members`. */ role: 'billing' | 'claude_code_user' | 'developer' | 'managed' | 'user'; } export interface UserListParams extends PageParams { /** * Filter by user email. */ email?: string; /** * Filter to items whose `role` equals one of the supplied values. Repeatable; * values are OR'ed together. * * Accepted values depend on the organization type: Console and API organizations * accept `user`, `developer`, `billing`, `admin`, and `claude_code_user`; Claude * Enterprise organizations accept `user`, `owner`, `primary_owner`, * `membership_admin`, and `managed`. */ roles?: Array<string>; } export declare namespace Users { export { type BetaOrganizationUser as BetaOrganizationUser, type UserRemoveResponse as UserRemoveResponse, type BetaOrganizationUsersPage as BetaOrganizationUsersPage, type UserUpdateParams as UserUpdateParams, type UserListParams as UserListParams, }; } //# sourceMappingURL=users.d.ts.map