Skip to main content
PATCH
/
v1
/
organization
/
members
/
{user_id}
Update a member's role
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({role: 'admin'})
};

fetch('https://api.factify.com/v1/organization/members/{user_id}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "Request body is malformed or missing required fields."
}

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"

Path Parameters

user_id
string
required

TypedID of the user whose role is being updated. Pattern: usr_[0-9a-hjkmnp-tv-z]{26}

Example:

"usr_01h2xcejqtf2nbrexx3vqjhp41"

Body

application/json

New role assignment for an organization member.

role
enum<string>
required

New role for the member. Demoting the last remaining owner is rejected; promote another member to owner first.

Available options:
owner,
admin,
member
Example:

"admin"

Response

No Content