POST/api/organizations/{organization_id}/invitationsAuthenticated

Invite a user to an organization

Creates a pending invitation for an existing user (looked up by e-mail address or user id) and e-mails them. Organization owners and platform administrators only. Refused when the user is already a member or already has a pending invitation.

operationId post_api_organizations_organization_id_invitationsOrganizations

Authentication & permissionsAuthenticated

Any authenticated user

Accepted credentials
Who may call
Any authenticated user
Notes
Only organization owners or platform administrators may invite members.

Path parameters

NameTypeDescription
organization_id*string

Organization id (URL-safe slug)

Request body

Required

application/json
CreateOrganizationInvitationRequest
PropertyTypeDescription
input_mode*"email" | "uid"

How identifier names the invitee: by e-mail address or by user id

identifier*string

The invitee's e-mail address (input_mode: email) or user id (input_mode: uid)

minLength: 1

JSONExample
"input_mode""email"
"identifier""teammate@example.com"

Responses

application/json
PropertyTypeDescription
success*true
message*string
data*object
invitation*OrganizationInvitation

An invitation for a user to join an organization.

invitation_id*string (uuid)
organization_id*string

minLength: 4maxLength: 32pattern: ^[a-z][a-z0-9_-]+$

organization_namestring
inviter_uid*string (uuid)
inviter_emailstring (email)
invitee_uid*string (uuid)
invitee_emailstring (email)
status*"pending" | "accepted" | "declined" | "revoked" | "expired"
created_at*number

exclusiveMinimum: 0

expires_at*number

exclusiveMinimum: 0

responded_atnumber | null | null

exclusiveMinimum: 0

JSONExample
"success"true
"message""string"
"data"
"invitation"
"invitation_id""123e4567-e89b-12d3-a456-426614174000"
"organization_id""string"
"organization_name""string"
"inviter_uid""123e4567-e89b-12d3-a456-426614174000"
"inviter_email""user@example.com"
"invitee_uid""123e4567-e89b-12d3-a456-426614174000"
"invitee_email""user@example.com"
"status""pending"
"created_at"1.5
"expires_at"1.5
"responded_at"1.5

Example request

bashcurl
curl -X POST 'https://auth.schemavaults.com/api/organizations/<organization_id>/invitations' \
  -b 'refresh_token_<auth_server_app_id>=<value>' \
  -H 'Content-Type: application/json' \
  -d '{
  "input_mode": "email",
  "identifier": "teammate@example.com"
}'

Other methods on this path

POST /api/organizations/{organization_id}/invitations | SchemaVaults Auth API