Members
The people on a brand.
GET /users
json
{
"members": [
{
"id": 1,
"first_name": "Ada",
"last_name": "Lovelace",
"email": "[email protected]",
"status": true,
"roles": ["super_admin"]
}
],
"used": 1,
"limit": 2,
"is_unlimited": false
}used, limit and is_unlimited reflect the staff_accounts allowance on your plan.
GET /users/roles
The roles you can assign.
json
{ "roles": [{ "id": 1, "name": "super_admin" }, { "id": 2, "name": "editor" }] }POST /users
Add a member directly, with a password you set.
| Field | Rules |
|---|---|
first_name | required, max 40 |
last_name | required, max 40 |
email | required, email, max 40 |
password | required, 6 to 255 |
role_id | required, integer, from GET /users/roles |
Returns 201.
Errors
| Response | Cause |
|---|---|
422 Invalid role. | role_id is not an assignable role |
422 with "limit_reached": true | The brand is at its staff_accounts allowance |
422 This user is already in the team. | That email is already a member |
Prefer invitations
POST /users sets someone's password on their behalf. For real people, invite them from Studio, under Settings, then Members. They pick their own password and the invite is a single-use link.
Permissions
Roles carry permissions, grouped by area: content, comments, automations, research, metrics, connections, settings, team and billing. Each area has view and manage variants, plus billing.manage.
Only a brand owner (super_admin) can rename the brand, manage members, or create another brand. See Roles and permissions.