Skip to main content
POST
/
v1
/
organization
/
invitations
Invite a member by email
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({email: 'alice@factify.com', role: 'member'})
};

fetch('https://api.factify.com/v1/organization/invitations', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "inv_01h2xcejqtf2nbrexx3vqjhp41",
  "org_id": "org_01h2xcejqtf2nbrexx3vqjhp41",
  "email": "alice@factify.com",
  "role": "member",
  "invited_by": "usr_01h2xcejqtf2nbrexx3vqjhp41",
  "expires_at": "2025-02-15T10:30:00Z",
  "created_at": "2025-01-15T10:30:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://developers.factify.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication using a factapi-issued API key (ffy_<env>_<base32_uuid><base62_random>). Cookie-based sessions are accepted automatically by user-facing endpoints but are not surfaced as an OpenAPI auth scheme.

Headers

X-Factify-Organization-Id
string

Optional. Factify-staff acting-as override: when set, factapi resolves the request against this organization instead of the session-bound one. Honored only for callers with @factify.com emails; non-staff requests carrying this header are rejected with 403. The value is a typed org id (e.g. org_01h2xcejqtf2nbrexx3vqjhp41).

Pattern: ^org_[0-9a-hjkmnp-tv-z]{26}$
Example:

"org_01h2xcejqtf2nbrexx3vqjhp41"

Body

application/json

Fields required to invite a new member to the organization.

email
string<email>
required

Email address of the person to invite.

Example:

"alice@factify.com"

role
enum<string>
required

Role the recipient will be granted on accept.

Available options:
owner,
admin,
member
Example:

"member"

Response

The created (or refreshed) invitation.

A pending invitation for an email address to join an organization. Invitations expire 7 days after creation.

id
string
required

Unique invitation TypedID. Pattern: inv_[0-9a-hjkmnp-tv-z]{26}

Example:

"inv_01h2xcejqtf2nbrexx3vqjhp41"

org_id
string
required

Organization the invitation grants access to. Pattern: org_[0-9a-hjkmnp-tv-z]{26}

Example:

"org_01h2xcejqtf2nbrexx3vqjhp41"

email
string
required

Email address the invitation was sent to.

Example:

"alice@factify.com"

role
string
required

Role the recipient will be granted on accept.

Example:

"member"

invited_by
string
required

TypedID of the user who created the invitation. Pattern: usr_[0-9a-hjkmnp-tv-z]{26}

Example:

"usr_01h2xcejqtf2nbrexx3vqjhp41"

expires_at
string<date-time>
required

Timestamp after which the invitation token is no longer valid.

Example:

"2025-02-15T10:30:00Z"

created_at
string<date-time>
required

Timestamp when the invitation was created.

Example:

"2025-01-15T10:30:00Z"