title: Invites url: https://platform.claude.com/docs/en/api/beta/organization/invites
Invites
Create Invite
POST /v1/organizations/invites
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.
Body parameters
-
email: stringEmail of the User.
format: email
-
role: "billing" or "claude_code_user" or "developer" or 2 moreRole for the invited User.
The accepted values depend on the organization type. Console and API organizations accept
user,developer,billing, andclaude_code_user;admincannot be assigned through the API. Claude Enterprise organizations acceptuserandmanaged.-
"billing" -
"claude_code_user" -
"developer" -
"managed" -
"user"
-
-
rbac_group_ids: optional array of stringRBAC 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_groupsscope.maxItems: 100
Returns
-
BetaOrganizationInvite object-
type: "invite"Object type.
For Invites, this is always
"invite".default: invite
-
id: stringID of the Invite.
-
accepted_at: string or nullRFC 3339 datetime string indicating when the Invite was accepted, or null.
format: date-time
-
email: stringEmail of the User being invited.
-
expires_at: stringRFC 3339 datetime string indicating when the Invite expires.
format: date-time
-
invited_at: stringRFC 3339 datetime string indicating when the Invite was created.
format: date-time
-
rbac_group_ids: array of stringRBAC group IDs recorded on the Invite (Claude Enterprise organizations), to be assigned to the User when the Invite is accepted.
[]when none. -
role: BetaOrganizationRoleOrganization role of the User.
-
"admin" -
"billing" -
"claude_code_user" -
"developer" -
"managed" -
"membership_admin" -
"owner" -
"primary_owner" -
"user"
-
-
status: "accepted" or "deleted" or "expired" or "pending"Status of the Invite.
-
"accepted" -
"deleted" -
"expired" -
"pending"
-
-
Example
curl https://api.anthropic.com/v1/organizations/invites \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"email": "user@emaildomain.com",
"role": "user"
}'Response (200)
{
"id": "invite_015gWxCN9Hfg2QhZwTK7Mdeu",
"accepted_at": "2019-12-27T18:11:19.117Z",
"email": "user@emaildomain.com",
"expires_at": "2024-11-20T23:58:27.427722Z",
"invited_at": "2024-10-30T23:58:27.427722Z",
"rbac_group_ids": [
"string"
],
"role": "admin",
"status": "pending",
"type": "invite"
}List Invites
GET /v1/organizations/invites
List the organization's invites.
Query parameters
-
after_id: optional stringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object.
-
before_id: optional stringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
-
email: optional stringFilter by the email address the Invite was sent to. Matches the same way as the Users list's
emailfilter (normalized, case-insensitive).format: email
-
limit: optional numberNumber of items to return per page.
Defaults to
20. Ranges from1to1000.default: 20, maximum: 1000, minimum: 1
-
roles: optional array of stringFilter to items whose
roleequals 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, andclaude_code_user; Claude Enterprise organizations acceptuser,owner,primary_owner,membership_admin, andmanaged. -
statuses: optional array of "accepted" or "expired" or "pending"Filter by Invite status. Repeatable; values are OR'ed together. Omit to return
pending,accepted, andexpiredInvites alike.-
"accepted" -
"expired" -
"pending"
-
Returns
-
data: array of BetaOrganizationInvite-
type: "invite"Object type.
For Invites, this is always
"invite".default: invite
-
id: stringID of the Invite.
-
accepted_at: string or nullRFC 3339 datetime string indicating when the Invite was accepted, or null.
format: date-time
-
email: stringEmail of the User being invited.
-
expires_at: stringRFC 3339 datetime string indicating when the Invite expires.
format: date-time
-
invited_at: stringRFC 3339 datetime string indicating when the Invite was created.
format: date-time
-
rbac_group_ids: array of stringRBAC group IDs recorded on the Invite (Claude Enterprise organizations), to be assigned to the User when the Invite is accepted.
[]when none. -
role: BetaOrganizationRoleOrganization role of the User.
-
"admin" -
"billing" -
"claude_code_user" -
"developer" -
"managed" -
"membership_admin" -
"owner" -
"primary_owner" -
"user"
-
-
status: "accepted" or "deleted" or "expired" or "pending"Status of the Invite.
-
"accepted" -
"deleted" -
"expired" -
"pending"
-
-
-
first_id: string or nullFirst ID in the
datalist. Can be used as thebefore_idfor the previous page. -
has_more: booleanIndicates if there are more results in the requested page direction.
-
last_id: string or nullLast ID in the
datalist. Can be used as theafter_idfor the next page.
Example
curl https://api.anthropic.com/v1/organizations/invites \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "invite_015gWxCN9Hfg2QhZwTK7Mdeu",
"accepted_at": "2019-12-27T18:11:19.117Z",
"email": "user@emaildomain.com",
"expires_at": "2024-11-20T23:58:27.427722Z",
"invited_at": "2024-10-30T23:58:27.427722Z",
"rbac_group_ids": [
"string"
],
"role": "admin",
"status": "pending",
"type": "invite"
}
],
"first_id": "first_id",
"has_more": true,
"last_id": "last_id"
}Get Invite
GET /v1/organizations/invites/{invite_id}
Retrieve an invite by ID.
Path parameters
-
invite_id: stringID of the Invite.
Returns
-
BetaOrganizationInvite object-
type: "invite"Object type.
For Invites, this is always
"invite".default: invite
-
id: stringID of the Invite.
-
accepted_at: string or nullRFC 3339 datetime string indicating when the Invite was accepted, or null.
format: date-time
-
email: stringEmail of the User being invited.
-
expires_at: stringRFC 3339 datetime string indicating when the Invite expires.
format: date-time
-
invited_at: stringRFC 3339 datetime string indicating when the Invite was created.
format: date-time
-
rbac_group_ids: array of stringRBAC group IDs recorded on the Invite (Claude Enterprise organizations), to be assigned to the User when the Invite is accepted.
[]when none. -
role: BetaOrganizationRoleOrganization role of the User.
-
"admin" -
"billing" -
"claude_code_user" -
"developer" -
"managed" -
"membership_admin" -
"owner" -
"primary_owner" -
"user"
-
-
status: "accepted" or "deleted" or "expired" or "pending"Status of the Invite.
-
"accepted" -
"deleted" -
"expired" -
"pending"
-
-
Example
curl https://api.anthropic.com/v1/organizations/invites/$INVITE_ID \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "invite_015gWxCN9Hfg2QhZwTK7Mdeu",
"accepted_at": "2019-12-27T18:11:19.117Z",
"email": "user@emaildomain.com",
"expires_at": "2024-11-20T23:58:27.427722Z",
"invited_at": "2024-10-30T23:58:27.427722Z",
"rbac_group_ids": [
"string"
],
"role": "admin",
"status": "pending",
"type": "invite"
}Delete Invite
DELETE /v1/organizations/invites/{invite_id}
Delete a pending invite.
Path parameters
-
invite_id: stringID of the Invite.
Returns
-
type: "invite_deleted"Deleted object type.
For Invites, this is always
"invite_deleted".default: invite_deleted
-
id: stringID of the Invite.
Example
curl https://api.anthropic.com/v1/organizations/invites/$INVITE_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "invite_015gWxCN9Hfg2QhZwTK7Mdeu",
"type": "invite_deleted"
}Domain types
Beta Organization Invite
-
BetaOrganizationInvite object-
type: "invite"Object type.
For Invites, this is always
"invite".default: invite
-
id: stringID of the Invite.
-
accepted_at: string or nullRFC 3339 datetime string indicating when the Invite was accepted, or null.
format: date-time
-
email: stringEmail of the User being invited.
-
expires_at: stringRFC 3339 datetime string indicating when the Invite expires.
format: date-time
-
invited_at: stringRFC 3339 datetime string indicating when the Invite was created.
format: date-time
-
rbac_group_ids: array of stringRBAC group IDs recorded on the Invite (Claude Enterprise organizations), to be assigned to the User when the Invite is accepted.
[]when none. -
role: BetaOrganizationRoleOrganization role of the User.
-
"admin" -
"billing" -
"claude_code_user" -
"developer" -
"managed" -
"membership_admin" -
"owner" -
"primary_owner" -
"user"
-
-
status: "accepted" or "deleted" or "expired" or "pending"Status of the Invite.
-
"accepted" -
"deleted" -
"expired" -
"pending"
-
-
Invite Delete Response
-
InviteDeleteResponse object-
type: "invite_deleted"Deleted object type.
For Invites, this is always
"invite_deleted".default: invite_deleted
-
id: stringID of the Invite.
-