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

Request

  • Base URL
    https://api.anthropic.com
  • Auth
    none declared

Headers

anthropic-versionstring

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; inviting with the managed role requires the write:rbac_groups scope in addition to write:members.

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

    • info

      added to the / response property anyOf list for the response status

    • breaking

      the response's property type changed from no type to object for status

    • info

      added the optional property / to the response with the status

    • info

      removed discriminator from response property for the response status

    • info

      removed from the response property oneOf list for the response status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status