Rolebase Developers
API Reference

thread_extra_member

Represents an additional member invited to participate in a thread beyond the default circle participants. Enables cross-circle collaboration by extending thread access.

Fields

Field Type Description
id uuid Unique identifier for the extra member entry (auto-generated)
threadId uuid Reference to the thread
memberId uuid Reference to the member being added

Relationships

Object Relationships

  • thread — The thread this extra member belongs to
  • member — The extra member added to the thread

Query Examples

List Extra Members of a Thread

query GetThreadExtraMembers($threadId: uuid!) {
  thread_extra_member(where: { threadId: { _eq: $threadId } }) {
    id
    member {
      id
      name
    }
    threadId
  }
}

Mutation Examples

Add an Extra Member to a Thread

mutation AddThreadExtraMember {
  insert_thread_extra_member_one(
    object: { threadId: "thread-id", memberId: "member-id" }
  ) {
    id
    threadId
    memberId
  }
}

Remove an Extra Member

mutation RemoveExtraMember {
  delete_thread_extra_member_by_pk(id: "extra-member-id") {
    id
    memberId
  }
}

Permissions

Select (Read)

Users can view thread extra members when they meet any of these conditions:

  • They are a participant in the thread’s circle
  • They are an extra member of the thread
  • For non-private threads, they are a member of the organization

Insert (Create)

Users can add extra members to threads when they meet any of these conditions:

  • They are a participant in the thread’s circle
  • They are an extra member of the thread
  • For non-private threads, they are an organization member with Member, Admin, or Owner role

Delete (Remove)

Users can remove extra members from threads under the same conditions as Insert.

Each member can only be added once per thread (enforced by a unique constraint on threadId and memberId). Extra members can be removed without affecting thread content, and thread privacy settings apply to all participants including extra members.