Skip to main content

Team Management API

Manage organization members, roles, and environment-level permissions.

Roles

RoleDescription
ownerFull access, can manage billing and organization settings
adminCan manage members, API keys, webhooks, and approve changes
developerCan create and modify flags, segments, and submit approvals
viewerRead-only access to all resources

List Members

GET /v1/members

Auth: JWT (All roles)

Response 200 OK

[
{
"id": "member-uuid",
"org_id": "org-uuid",
"role": "owner",
"email": "admin@example.com",
"name": "Admin User"
}
]

Invite Member

POST /v1/members/invite

Auth: JWT (Owner, Admin)

Request

{
"email": "dev@example.com",
"role": "developer"
}
FieldTypeRequiredDefaultDescription
emailstringYesInvitee's email
rolestringNodeveloperowner, admin, developer, viewer

Response 201 Created

Returns a member response object. If the user doesn't have an account, a stub account is created.

Error 409 Conflict

Returned if the user is already a member of the organization.


Update Role

PUT /v1/members/{memberID}

Auth: JWT (Owner, Admin)

Request

{
"role": "admin"
}

Response 204 No Content


Remove Member

DELETE /v1/members/{memberID}

Auth: JWT (Owner, Admin)

Response 204 No Content

Members cannot remove themselves.


Environment Permissions

Fine-grained permissions control what a member can do in specific environments.

List Permissions

GET /v1/members/{memberID}/permissions

Response 200 OK

[
{
"id": "uuid",
"member_id": "uuid",
"env_id": "uuid",
"can_toggle": true,
"can_edit_rules": false
}
]

Update Permissions

PUT /v1/members/{memberID}/permissions

Auth: JWT (Owner, Admin)

Request

{
"permissions": [
{
"env_id": "production-uuid",
"can_toggle": true,
"can_edit_rules": false
}
]
}

Response 200 OK

Returns the full updated permission list.