Account Members
The people in an account. A person exists in Zuplo as soon as they are added:
POST /v4/accounts/{accountId}/members with their email returns their
userId (user_…) right away, whether or not they have ever signed in, and
every pool and project accepts that userId at once. There is no separate
invitation resource and nothing to poll.
How members behave:
- Who. Account admins add, change and remove members. Every account member can list and read them.
- Invited, then active. Someone new to the account is added with
status: invited, and Zuplo emails them a link. They becomeactivewhen they sign in: through the account's enterprise SSO connection if it has one, otherwise by accepting the email. Accepting happens in the Zuplo portal, not in v4. Everything they were given while invited (pools, projects) takes effect at that moment. Until then they cannot use it. - One per person. A person is in an account once, whatever the case of
their email address. Adding an email that is already a member changes their
role, and for an invited member sends the email again with a new link: that is how an invitation is resent. - Seven days. The link in the email works for seven days
(
invitationExpiresOn). After that the member staysinvited; add them again to send a new link. - Seats. An invited member does not hold a seat. Adding someone new fails
with
409when the account already has as many active members as its plan allows, and so does their first sign-in, if the account filled up in the meantime. sub. A member'ssub, the subject their identity provider assigned them, is read-only andnulluntil their first sign-in. It is not an identifier in v4: every path and reference usesuserId.
List account members
Lists the people in the account, invited and active, oldest first, with their
account role. Filter by email or by sub to look up one person's userId.
Every account member can list them.
path Parameters
accountIdThe account ID, a UUID.
query Parameters
emailOnly return the member with this email address (case-insensitive).
subOnly return the member with this sub, the subject their identity provider assigned them. Members who have not signed in yet have none.
The subject the identity provider of a person's Zuplo sign-in assigned them, for
example auth0|… or samlp|…. Read-only: it is set at their first sign-in.
It is not an identifier in v4, where people are their userId.
limitThe maximum number of items to return.
offsetThe number of items to skip before the first item returned.
List account members › Responses
A page of account members.
The account members on this page.
limitThe page size that was applied.
offsetThe number of items skipped before this page.
totalThe number of items in the whole collection.
hasMoreWhether there are more items after this page.
nextThe relative URL of the next page, or null on the last page.
Add or update an account member
Adds a person to the account by email, or changes the role of a person who
is already in it. Returns 201 with the new member when the email is new to
the account, and 200 when it already was a member. Only account admins can
add people.
Someone new is added with status: invited and gets an email with a link to
sign in. Their userId works everywhere at once: add it to pools
(POST /v4/buckets/{bucketId}/ai/pools/{poolId}/members) and projects
(POST /v4/projects/{projectId}/members, ai-user included) in the next
requests, without waiting. Those grants take effect when the person becomes
active, by signing in through the account's SSO connection or by accepting
the email.
Adding an email that is already a member changes their role, so sending the
same request again changes nothing. For a member who is still invited, it
also sends the email again, with a new link and invitationExpiresOn: that is
how an invitation is resent. Email addresses are compared case-insensitively,
so [email protected] is the member [email protected].
Without role-based access control (an enterprise add-on), every account
member is an admin: role defaults to admin, and any other role is a
400. With it, role defaults to member for someone new and is unchanged
for an existing member when omitted.
Fails with 409 when the email is new to the account and the account already
has as many active members as its plan allows. Invited members do not count
toward that limit.
path Parameters
accountIdThe account ID, a UUID.
Add or update an account member › Request Body
emailThe person's email address. Someone new is invited at this address and signs in with it. Compared case-insensitively, without surrounding whitespace.
roleThe account role to give a person. ai-user is a project role, so it is not
one: give it on a project. Without role-based access control any value but
admin is a 400. New values may be added.
Add or update an account member › Responses
The person already was a member. Their role was updated, and an invited member was sent the email again.
accountIdThe account.
userIdA 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.
The subject their identity provider assigned them, set at their first sign-in. Null while they are invited.
emailThe person's email address. An invited member signs in with it.
nameThe person's display name, if they set one. Null while they are invited.
roleA person's role in the account. New values may be added.
statusWhether a person can use the account yet. invited: they were added and
emailed a link, and have not signed in since; their roles take effect when
they do. active: they have signed in. New values may be added.
invitationExpiresOnWhen the link in the latest invitation email stops working, seven days after it was sent. Null once the member is active.
createdOnWhen the person was added to the account.
Get an account member
Returns one person in the account, invited or active. Every account member can read them.
path Parameters
accountIdThe account ID, a UUID.
userIdThe 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.
Get an account member › Responses
The account member.
accountIdThe account.
userIdA 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.
The subject their identity provider assigned them, set at their first sign-in. Null while they are invited.
emailThe person's email address. An invited member signs in with it.
nameThe person's display name, if they set one. Null while they are invited.
roleA person's role in the account. New values may be added.
statusWhether a person can use the account yet. invited: they were added and
emailed a link, and have not signed in since; their roles take effect when
they do. active: they have signed in. New values may be added.
invitationExpiresOnWhen the link in the latest invitation email stops working, seven days after it was sent. Null once the member is active.
createdOnWhen the person was added to the account.
Remove an account member
Removes a person from the account, with their roles on its projects and AI
pools. For an invited member, the link in their email stops working. Only
account admins can remove people. A repeated delete returns 404, which
clients should treat as success.
path Parameters
accountIdThe account ID, a UUID.
userIdThe 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.
Remove an account member › Responses
The member was removed.