Skip to main content

Overview

The Organization Members API manages user memberships within organizations. Each member has a role (owner, admin, or member) that determines their permissions within the organization. All operations require authentication and are subject to role-based access control policies.

Roles

Organization members can have one of three roles:
  • owner - Full administrative access, can delete the organization
  • admin - Can manage members, channels, and organization settings
  • member - Standard user with access to organization channels

Create organization member

Adds a user to an organization. The authenticated user is automatically set as the member being created. Requires appropriate permissions to add members to the organization.
organizationId
string
required
The organization ID to add the member to.
role
string
required
Member role. One of: "owner", "admin", "member".
nickname
string
Optional nickname for the member within this organization.
joinedAt
string
ISO 8601 timestamp of when the member joined. Defaults to current time.
invitedBy
string
User ID of the person who invited this member.

Response

data
object
required
transactionId
string
required
Transaction ID for optimistic UI updates.

Errors

  • OrganizationNotFoundError - Organization does not exist
  • UnauthorizedError - User lacks permission
  • InternalServerError - Unexpected server error
const result = yield* client.call("organizationMember.create", {
  organizationId: "org_123",
  role: "member"
});

Update organization member

Updates an existing organization member’s role and settings. Only users with appropriate permissions can update organization members.
id
string
required
Organization member ID to update.
role
string
New role: "owner", "admin", or "member".
nickname
string
New nickname.

Response

Returns the same structure as create organization member.

Errors

  • OrganizationMemberNotFoundError - Organization member does not exist
  • UnauthorizedError - User lacks permission
  • InternalServerError - Unexpected server error
const result = yield* client.call("organizationMember.update", {
  id: "member_123",
  role: "admin"
});

Update organization member metadata

Updates an organization member’s metadata, such as onboarding data. Used to store additional information like role preferences and use cases from onboarding flows.
id
string
required
Organization member ID to update.
metadata
object
required
Metadata object containing custom fields.

Response

Returns the same structure as create organization member.

Errors

  • OrganizationMemberNotFoundError - Organization member does not exist
  • UnauthorizedError - User lacks permission
  • InternalServerError - Unexpected server error
const result = yield* client.call("organizationMember.updateMetadata", {
  id: "member_123",
  metadata: {
    role: "Engineering Manager",
    useCases: ["team-collaboration", "project-management"]
  }
});

Delete organization member

Removes a user from an organization (soft delete). Only users with appropriate permissions can remove organization members.
id
string
required
Organization member ID to delete.

Response

transactionId
string
required
Transaction ID for optimistic UI updates.

Errors

  • OrganizationMemberNotFoundError - Organization member does not exist
  • UnauthorizedError - User lacks permission
  • InternalServerError - Unexpected server error
const result = yield* client.call("organizationMember.delete", {
  id: "member_123"
});

Organizations

Manage organizations and settings

Invitations

Send and manage organization invitations

Build docs developers (and LLMs) love