Skip to content

Team Members

Each member receives a unique API key that grants them access to the project.

GET /machine/team/:projectId/members

Requires membership in the project.

{
"members": [
{
"id": "member-uuid",
"apiKeyId": "key-uuid",
"keyLabel": "bootstrap",
"role": "owner",
"invitedBy": null,
"joinedAt": "2026-02-07T12:00:00.000Z"
},
{
"id": "member-uuid-2",
"apiKeyId": "key-uuid-2",
"keyLabel": "alice-dev",
"role": "member",
"invitedBy": "key-uuid",
"joinedAt": "2026-02-07T13:00:00.000Z"
}
]
}

POST /machine/team/:projectId/members

Roles: owner admin

Generates a fresh API key for the new member.

{
"label": "alice-dev",
"role": "member"
}
FieldTypeDefaultDescription
labelstringnullLabel for the new member’s API key
rolestring"member"Role: admin, member, or viewer
{
"memberId": "a1b2c3d4-...",
"apiKeyId": "e5f6g7h8-...",
"apiKey": "mk_...",
"role": "member",
"message": "Share this API key with the invited member. It will not be shown again."
}

Triggers the member.invited webhook event.

PATCH /machine/team/:projectId/members/:memberId

Roles: owner admin

Valid roles: admin, member, viewer. The owner role cannot be changed.

{ "role": "admin" }

Returns { "success": true, "memberId": "...", "newRole": "admin" }.

DELETE /machine/team/:projectId/members/:memberId

Roles: owner admin

Removes the member and revokes their API key. Cannot remove the project owner or yourself.

Triggers the member.removed webhook event.