Skip to main content
POST
cURL
Invites a single person to your organization. The same call also resends an existing invitation: posting an address that already has a live invitation resends it rather than creating a second one. Inviting someone provisions them immediately as a pending member, so you can add them to permission groups and grant them access before they accept. See Pending users and pre-granted invitations below.

Request body

first_name and last_name are optional. An admin often has only an address, and the person names themselves afterward from their profile or the onboarding step. The invitation email greets an unnamed invitee by their address.

Response

Returns the Invitation object. The status code tells you which of the two things happened:
  • 201 Created — a new invitation was created.
  • 200 OK — an existing invitation was resent.

Example

Resending and role changes

Sending the same address again is safe and is how you chase someone who has not accepted. Nobody is duplicated: the existing invitation is resent with a fresh expiry, and the invitee’s existing groups and grants are untouched. If the role differs from the outstanding invitation, the resend is a role change — it moves the person on both the invitation and their pending membership.
Moving an existing admin or owner invitee to another role requires an owner. This is the same ceiling that applies to changing the role of an accepted member.

Pending users and pre-granted invitations

Because an invitation provisions the person right away, they exist as a pending member the moment the call succeeds:
  • Grant access before acceptance. A pending member is a normal target for the group editor and every permission-assign endpoint — no separate flow.
  • Pending is not inactive. In the member list a pending member carries its own status; it is not the same as a deactivated user.
  • They cannot log in until they accept. The invitation token is the only proof that the person controls the address.
  • Revoking is destructive. Revoking (see Errors) removes the invitee’s groups and grants, not just the email.
The invitation email expires after 7 days; the pre-granted access does not. An admin resends and nothing has to be re-granted.

Authentication

This endpoint requires an API key in the x-api-key header. Only an owner or an admin can invite, and nobody can invite somebody to a role above their own. For an API key, that ceiling is read from the role of the user who created the key.

Errors

Authorizations

x-api-key
string
header
required

API Key authentication. Format: 'x-api-key: api_key'

Body

email
string<email>
required
Maximum string length: 254
first_name
string
Maximum string length: 150
last_name
string
Maximum string length: 150
role
enum<string>
default:member

Defaults to member. You cannot invite somebody to a role above your own, and on the Free plan only owners can be invited.

  • owner - Owner
  • admin - Admin
  • member - Member
Available options:
owner,
admin,
member
functional_area
  • data_analytics - Data & Analytics
  • sales - Sales
  • customer_support - Customer Support
  • operations - Operations
  • marketing - Marketing
  • finance - Finance
  • product_development - Product Development
  • growth - Growth
  • executive_leadership - Executive Leadership
  • other - Other
Available options:
data_analytics,
sales,
customer_support,
operations,
marketing,
finance,
product_development,
growth,
executive_leadership,
other
other_functional_area
string | null
Maximum string length: 128

Response

201 - application/json
id
string<uuid>
required
read-only
email
string<email>
required
Maximum string length: 254
sent_at
string<date-time>
required
read-only
expires_at
string<date-time>
required
read-only
accepted_at
string<date-time> | null
required
read-only
revoked_at
string<date-time> | null
required
read-only
created_at
string<date-time>
required
read-only
created_by
object
required
first_name
string
Maximum string length: 150
last_name
string
Maximum string length: 150
role
enum<string>
default:member

Defaults to member. You cannot invite somebody to a role above your own, and on the Free plan only owners can be invited.

  • owner - Owner
  • admin - Admin
  • member - Member
Available options:
owner,
admin,
member
functional_area
  • data_analytics - Data & Analytics
  • sales - Sales
  • customer_support - Customer Support
  • operations - Operations
  • marketing - Marketing
  • finance - Finance
  • product_development - Product Development
  • growth - Growth
  • executive_leadership - Executive Leadership
  • other - Other
Available options:
data_analytics,
sales,
customer_support,
operations,
marketing,
finance,
product_development,
growth,
executive_leadership,
other
other_functional_area
string | null
Maximum string length: 128