Members API reference

Members endpoints of the Quackback REST API: paths, parameters, request fields and responses.

JM
James Morton
Written By James MortonLast updated 4 days ago

This is the reference for the Members endpoints of the Quackback REST API: every endpoint, its parameters, request fields and response fields. It is generated from the API's OpenAPI description, so it matches what the API accepts.

All paths are relative to /api/v1 on your workspace's address (for example https://feedback.example.com/api/v1). Authenticate with an API key in the Authorization: Bearer qb_... header. For keys, errors, pagination and rate limits, see API overview. Every workspace also serves an interactive reference at /api/v1/docs.

Endpoints

  • GET /principals: List team members
  • GET /members: List team members
  • GET /principals/{principalId}: Get a team member
  • PATCH /principals/{principalId}: Update a team member
  • DELETE /principals/{principalId}: Remove a team member
  • GET /members/{principalId}: Get a team member
  • PATCH /members/{principalId}: Update a team member
  • DELETE /members/{principalId}: Remove a team member

List team members

GET /api/v1/principals

Returns all team members (admin and member roles) in the workspace

Response 200: returns id, userId, role, name, email, image, createdAt.

List team members

GET /api/v1/members

Deprecated alias of GET /principals; use that path instead. Returns all team members (admin and member roles) in the workspace

Response 200: returns id, userId, role, name, email, image, createdAt.

Get a team member

GET /api/v1/principals/{principalId}

Get a single team member by ID

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Response 200: returns id, userId, role, name, email, image, createdAt.

Update a team member

PATCH /api/v1/principals/{principalId}

Update a team member's role, or add a portal user to the team by giving them a role. A portal user must have signed in (a provider account or a portal session); they join at once and take a seat. Only an admin key grants the admin role or changes an admin. Cannot modify your own role.

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Request body

Field

Type

Required

Description

role

string (admin, member)

Yes

New role for the member

roleId

string

No

Custom role to grant (from the roles table). Requires role='member'; the Owner preset is rejected.

Response 200: returns id, userId, role, name, email, image, createdAt.

Remove a team member

DELETE /api/v1/principals/{principalId}

Remove a team member from the workspace (converts them to a portal user). Cannot remove yourself or the last admin; only an admin key removes an admin.

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Get a team member

GET /api/v1/members/{principalId}

Deprecated alias of GET /principals/{principalId}; use that path instead. Get a single team member by ID

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Response 200: returns id, userId, role, name, email, image, createdAt.

Update a team member

PATCH /api/v1/members/{principalId}

Deprecated alias of PATCH /principals/{principalId}; use that path instead. Update a team member's role, or add a portal user to the team by giving them a role. A portal user must have signed in (a provider account or a portal session); they join at once and take a seat. Only an admin key grants the admin role or changes an admin. Cannot modify your own role.

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Request body

Field

Type

Required

Description

role

string (admin, member)

Yes

New role for the member

roleId

string

No

Custom role to grant (from the roles table). Requires role='member'; the Owner preset is rejected.

Response 200: returns id, userId, role, name, email, image, createdAt.

Remove a team member

DELETE /api/v1/members/{principalId}

Deprecated alias of DELETE /principals/{principalId}; use that path instead. Remove a team member from the workspace (converts them to a portal user). Cannot remove yourself or the last admin; only an admin key removes an admin.

Parameters

Name

In

Type

Required

Description

principalId

path

string

Yes

Principal ID

Was this helpful?

Your feedback shapes what we write next.