Create Invite

Invite a user to join the organization by email.

On plans that draw members from a finite pool of purchased seats, the invite automatically consumes a seat from the lowest tier with availability; there is no seat-tier parameter. When no seat is free the request fails with a 400 error rather than purchasing a seat.

post/v1/organizations/invites?beta=true

Headers

anthropic-versionstring

The version of the Claude API you want to use.

Read more about versioning and our version history here.

The version of the Claude API you want to use.

Read more about versioning and our version history here.

Request body

emailstring email required

Email of the User.

rbac_group_idsstring[]

RBAC group IDs to assign to the User when the Invite is accepted. A non-empty array is accepted only for a Claude Enterprise organization with RBAC groups, and requires the key to carry the write:rbac_groups scope.

role'billing' | 'claude_code_user' | 'developer' | 'managed' | 'user' required

Role for the invited 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.

Example request

{
  "email": "user@emaildomain.com",
  "role": "user"
}

Response

Successful Response

accepted_atstring date-time nullable required

RFC 3339 datetime string indicating when the Invite was accepted, or null.

emailstring required

Email of the User being invited.

expires_atstring date-time required

RFC 3339 datetime string indicating when the Invite expires.

idstring required

ID of the Invite.

invited_atstring date-time required

RFC 3339 datetime string indicating when the Invite was created.

rbac_group_idsstring[] required

RBAC group IDs recorded on the Invite (Claude Enterprise organizations), to be assigned to the User when the Invite is accepted. [] when none.

role'admin' | 'billing' | 'claude_code_user' | 'developer' | 'managed' | 'membership_admin' | 'owner' | 'primary_owner' | 'user' required
status'accepted' | 'deleted' | 'expired' | 'pending' required
type'invite' required

Object type.

For Invites, this is always "invite".

Example response

{
  "email": "user@emaildomain.com",
  "expires_at": "2024-11-20T23:58:27.427722Z",
  "id": "invite_015gWxCN9Hfg2QhZwTK7Mdeu",
  "invited_at": "2024-10-30T23:58:27.427722Z"
}

Changes