Claude Platform Docs

Create Invite

$client->beta->organization->invites->create(string email, Role role, ?list<string> rbacGroupIDs): OrganizationInvite
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.

Parameters
email: string

Email of the User.

role: Role

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.

rbacGroupIDs?:optional list<string>

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.

Returns
class OrganizationInvite { $type = 'invite'; $id; $acceptedAt; /* 6 more */ }
"invite" type

Object type.

For Invites, this is always "invite".

string id

ID of the Invite.

?\Datetime acceptedAt

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

string email

Email of the User being invited.

\Datetime expiresAt

RFC 3339 datetime string indicating when the Invite expires.

\Datetime invitedAt

RFC 3339 datetime string indicating when the Invite was created.

list<string> rbacGroupIDs

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

Organization role of the User.

Status status

Status of the Invite.

Create Invite
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaOrganizationInvite = $client->beta->organization->invites->create(
  email: 'user@emaildomain.com', role: 'user', rbacGroupIDs: ['string']
);

var_dump($betaOrganizationInvite);
Returns Examples
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"
}