Docs

Invite Crew

POST /crew/invite

POST/crew/invite

Required Tokens

FieldTypeRequiredDescription
BearerAuthorization: Bearer <api-key>OptionalYour API key. Pass it as the Bearer token on every request.
Organization tokenx-Organization-TokenOptionalRun **Authorize Organization** in the Authorization folder.

The single "grant access" entry point for the organization. For each member in the request the server resolves the email to an existing BackOps account:

  • Existing account → permissions are applied immediately, a UserLicense is created, and an organization.member.added notification is emitted. No invite email is sent.
  • No account → an organization invitation is created carrying the permissions payload, a license seat is reserved for the email, and a signup invite email is sent.

The org scope is derived from the token. The members array supports a single invite or a bulk batch (each row carries its own license + permission set). Input is validated up front, so an invalid row (unknown permission, missing license, insufficient seats) rejects the whole request.

Requires Organization admin (*) permission.

Body

FieldTypeRequiredDescription
members[].connectedUserEmailstringRequiredThe account email being granted access (the match key).
members[].crewIdGuidOptionalAttach the grant to an existing crew row; omit to create a new one.
members[].firstName / lastName / email / phoneNumberstringOptionalContact fields used when creating a new crew row.
members[].licenseIdGuidRequiredThe org license to assign (existing user) or reserve (new email).
members[].permissionsstring[]Required`Organization.*` permission strings to grant; each validated against the catalog.

Responses

  • 200 OK{ results: [{ email, outcome, crewId }] } where outcome is granted or invited.
  • 400 Bad Request — unknown permission, missing license, blacklisted email, or no seats available (this API has no 409 mapping; over-capacity surfaces as 400).
  • 403 Forbidden — caller is not an organization admin.
  • 404 Not Found — a referenced license or crew row does not exist.