POST/api/organizations/{organization_id}/membersAdmin

Add a member directly (administrators)

Makes an existing user (looked up by e-mail address or user id, the caller included) a member of the organization immediately, without an invitation to accept. Platform administrators only: organization owners invite members with POST /api/organizations/{organization_id}/invitations. Any pending invitation of the user to the organization is revoked. Refused for system organizations, service accounts (an organization-owned app's service account joins its organization through PUT /api/apps/{app_id}/service-account/organization-membership instead), users that already are members, users at the membership limit, and users without a verified MFA factor while the organization requires multi-factor authentication (error: mfa_required).

operationId post_api_organizations_organization_id_membersOrganizations

Authentication & permissionsAdmin

Platform administrators only

Accepted credentials
Who may call
Platform administrators only
Notes
Only platform administrators may add members directly; organization owners must invite.

Path parameters

NameTypeDescription
organization_id*string

Organization id (URL-safe slug)

Request body

Required

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

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

identifier*string

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

minLength: 1

role"member" | "owner"

Role of the new membership (default member). The virtual admin role cannot be assigned.

default: "member"

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

Responses

application/json
PropertyTypeDescription
success*true
message*string
data*object
member*OrganizationMember
membership_declaration_id*string

Id of the membership row

organization_id*string

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

uid*string (uuid)

The member's user id

role*string

Membership role in the organization: owner, member, or admin (the virtual role platform administrators hold in the owner organization).

membership_created_at*number

Unix epoch milliseconds the membership was created

email*string (email)
email_verifiedboolean
adminboolean

Whether the member is a platform administrator

disabledboolean

Whether the member's account is disabled

revoked_invitation_ids*string (uuid)[]

Pending invitations of the user to the organization that the membership superseded

JSONExample
"success"true
"message""string"
"data"
"member"
"membership_declaration_id""string"
"organization_id""string"
"uid""123e4567-e89b-12d3-a456-426614174000"
"role""member"
"membership_created_at"1.5
"email""user@example.com"
"email_verified"true
"admin"true
"disabled"true
"revoked_invitation_ids"
"123e4567-e89b-12d3-a456-426614174000"

Example request

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

Other methods on this path

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