Zuplo API v4
Zuplo Developer API

Project Members

The people with a role on a project. A membership has no ID of its own. It is identified by the project and the user, so adding someone and changing their role are the same request: a POST to the project's members with their userId. Give someone only personal AI Gateway keys with the ai-user role.


List project members

GET
https://dev-api-v4-main-a471234.zuplo.app
/v4/projects/{projectId}/members

Lists the people with a role assigned on the project, oldest first. Access that comes from someone's account role is not listed here.

List project members › path Parameters

projectId
​string · maxLength: 64 · required

The project ID (prj_…). Its members, environments and deployments are addressed under it.

List project members › query Parameters

limit
​integer · min: 1 · max: 100

The maximum number of items to return.

Default: 10
offset
​integer · min: 0

The number of items to skip before the first item returned.

Default: 0

List project members › Responses

A page of project members.

A page of project members.
​ProjectMember[] · required

The project members on this page.

limit
​integer · required

The page size that was applied.

offset
​integer · required

The number of items skipped before this page.

total
​integer · required

The number of items in the whole collection.

hasMore
​boolean · required

Whether there are more items after this page.

next
​string | null · required

The relative URL of the next page, or null on the last page.


Add or update a project member

POST
https://dev-api-v4-main-a471234.zuplo.app
/v4/projects/{projectId}/members

Gives an account member a role on the project. If they already have a role on the project, it is changed instead, so sending the same request again changes nothing. Returns 201 when the person was added and 200 when their role was updated. Only project admins and account admins can add people.

userId has to be an account member, invited or active; any other userId is a 400. Add someone who is not in the account yet with POST /v4/accounts/{accountId}/members first, and use the userId it returns right away. An invited member's role takes effect when they become active.

ai-user gives access to the AI Gateway's user app only: the person gets personal API keys and sees their own usage, and nothing else in the project. It exists only on ai-gateway projects, and is a 400 on others. Without role-based access control (an enterprise add-on), every account member is an admin, so role must be admin; any other role is a 400.

Add or update a project member › path Parameters

projectId
​string · maxLength: 64 · required

The project ID (prj_…). Its members, environments and deployments are addressed under it.

Add or update a project member › Request Body

A person and their role on the project.
userId
​UserId · maxLength: 64 · required

A person, identified by their Zuplo user ID (user_…). Zuplo assigns it when the person is first added to an account, before they ever sign in, and it never changes. Every userId and ownerId in v4 is one.

Example: user_Jm5tR8wQz2KcX7vB4nLp9HdS
role
​ProjectRole · enum · required

A role on a project. admin manages the project, its environments and its members. developer changes and deploys the preview and development environments, and reads production. member reads the project. ai-user, on ai-gateway projects only, uses the AI Gateway's user app with personal API keys and sees nothing else. New values may be added.

Enum values:
admin
developer
member
ai-user

Add or update a project member › Responses

The member's role was updated.

A person's role on a project.
projectId
​string · required

The project.

Example: prj_Hn4QzW7cVb2LpX9sTe5RgK1m
userId
​UserId · maxLength: 64 · required

A person, identified by their Zuplo user ID (user_…). Zuplo assigns it when the person is first added to an account, before they ever sign in, and it never changes. Every userId and ownerId in v4 is one.

Example: user_Jm5tR8wQz2KcX7vB4nLp9HdS
email
​string · email · required

The person's email address.

name
​string | null · required

The person's display name, if they set one.

Example: Jane Doe
role
​ProjectRole · enum · required

A role on a project. admin manages the project, its environments and its members. developer changes and deploys the preview and development environments, and reads production. member reads the project. ai-user, on ai-gateway projects only, uses the AI Gateway's user app with personal API keys and sees nothing else. New values may be added.

Enum values:
admin
developer
member
ai-user

Get a project member

GET
https://dev-api-v4-main-a471234.zuplo.app
/v4/projects/{projectId}/members/{userId}

Returns one person's role on the project.

Get a project member › path Parameters

projectId
​string · maxLength: 64 · required

The project ID (prj_…). Its members, environments and deployments are addressed under it.

userId
​UserId · maxLength: 64 · required

The user ID of an account member (user_…).

A person, identified by their Zuplo user ID (user_…). Zuplo assigns it when the person is first added to an account, before they ever sign in, and it never changes. Every userId and ownerId in v4 is one.

Example: user_Jm5tR8wQz2KcX7vB4nLp9HdS

Get a project member › Responses

The project member.

A person's role on a project.
projectId
​string · required

The project.

Example: prj_Hn4QzW7cVb2LpX9sTe5RgK1m
userId
​UserId · maxLength: 64 · required

A person, identified by their Zuplo user ID (user_…). Zuplo assigns it when the person is first added to an account, before they ever sign in, and it never changes. Every userId and ownerId in v4 is one.

Example: user_Jm5tR8wQz2KcX7vB4nLp9HdS
email
​string · email · required

The person's email address.

name
​string | null · required

The person's display name, if they set one.

Example: Jane Doe
role
​ProjectRole · enum · required

A role on a project. admin manages the project, its environments and its members. developer changes and deploys the preview and development environments, and reads production. member reads the project. ai-user, on ai-gateway projects only, uses the AI Gateway's user app with personal API keys and sees nothing else. New values may be added.

Enum values:
admin
developer
member
ai-user

Remove a project member

DELETE
https://dev-api-v4-main-a471234.zuplo.app
/v4/projects/{projectId}/members/{userId}

Removes the person's role on the project. Their account role is unaffected. A repeated delete returns 404, which clients should treat as success.

Remove a project member › path Parameters

projectId
​string · maxLength: 64 · required

The project ID (prj_…). Its members, environments and deployments are addressed under it.

userId
​UserId · maxLength: 64 · required

The user ID of an account member (user_…).

A person, identified by their Zuplo user ID (user_…). Zuplo assigns it when the person is first added to an account, before they ever sign in, and it never changes. Every userId and ownerId in v4 is one.

Example: user_Jm5tR8wQz2KcX7vB4nLp9HdS

Remove a project member › Responses

The member was removed.

No data returned