Skip to main content
POST
Add a member to the workspace
You’re viewing API version 2026-09, which is deprecated and stops working on October 1, 2027. To see the current version, select 2026-10 in the menu at the top of the sidebar. To move your integration, see Upgrading to 2026-10.

Authorizations

Authorization
string
header
required

Personal API key, e.g. Authorization: Bearer sajn_sk_.... Not scope-limited — acts as the issuing user.

Headers

authorization
string
required

Bearer token for API authentication

Idempotency-Key
string

Makes retries safe. A retry with the same key and the same request replays the stored response for 24 hours (header Idempotent-Replayed: true); the same key with a different request returns 400.

Maximum string length: 255

Body

application/json

Body

Add a member to the workspace

email
string<email>
required

User email

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
roleId
string
required

Workspace role ID. Look up available role IDs via GET /api/v1/workspace-roles.

sendInvite
boolean
default:true
required

If the user does not already exist, send an invitation email

Response

Workspace member

Workspace member

userId
string | null
required

Null when an invite was sent for a non-existent user

email
string
required
name
string | null
required
roleId
string
required

The immutable role identifier

roleName
string
required

Human-readable role name (may be renamed by org admins)

workspaceId
string
required
organizationId
string
required
invited
boolean
required

True if an invitation was sent rather than an immediate add

addedAt
any
required