Managing Users
The User Management page manages the users who are authorized to use the Studio. Note that to access the User Management page, you must be a user with the Administrator role.
To access the User Management page:
- Login to Studio.
- Open the Admin () module.
- Click User Management.

Notice how the Users tab displays:
- Last Name, First Name.
- Email address.
- Role - Standard, Administrator or Custom role.
- Module Access - Each module the user has access to will display a check mark (
). - Last Login - The last date and time the user logged in to Video Cloud Studio. This is the last login for all Video Cloud Studio accounts, not just the current account.
- Configuration () - Here, you can personalize which tabs display or not. Also, you can edit or delete a user with the three-dot option.
The User Management page can be used to:
How many users can I have?
The number of users you can create depends on what kind of account you have. If you need to add more users, you can upgrade your plan to one that offers more users. The limit applies only to the total number of users in existence at any time; if you create 10 users, delete 5 of them, and create 3 more users, you are considered to have 8 users. The Users page displays how many users you are entitled to and how many additional users you can create.
Purchasing additional users
If you need to add more users, you can upgrade your plan to one that offers more users. Pro and Enterprise level accounts should contact their Customer Success Manager for information on adding additional users.
Creating new users
To create a new user, follow these steps:
- Click .
- Enter the First Name, Last Name and Email of the user.
- Assign a Role to the user:
- Administrator - User has access to the Admin menu (i.e. can create user accounts, custom ingest profiles, custom fields, configure media sharing).
- Standard - User does not have access to the Admin menu.
- Custom role - User has access to specific modules depending on the assigned role.
- Click .

The user will receive an email message stating that they have been added to the account.
Editing existing users
To edit an existing user, follow these steps:
- Click on the three-dot menu icon below the Configuration tab(). Click on the Edit option to show the user details.
- You can change the user Role by selecting another available role.
- Click to update the changes.


Deleting a user
To delete a user, follow these steps:
- Click on the three-dot menu icon below the Configuration tab(). Click on the Delete option.
- Click to confirm the deletion.


Changing the primary user
One user in each account is designated the primary user. The primary user will always have the Administrator role and can only be deleted by Brightcove Support.

If you need to change the primary user at some point, click on the three-dot menu icon below the Configuration tab(). Click on the Edit option to show the user details.

Click on Make this user the primary administrator for this account. You will be prompted to confirm the primary user change.

User Management API
Overview
The User Management API lets you programmatically manage users and their role assignments within a Brightcove account. Use it to retrieve available roles, list users, create users, update role assignments, and remove users.
Base URL
https://accounts.api.brightcove.com/v1
Authentication
The User Management API uses OAuth 2.0 (Client Credentials Grant). Obtain an access token and send it in the Authorization header as a Bearer token.
Required permissions
Your client credentials must include these permissions:
- User management: Create - Create new users or add existing users to an account
- User management: Delete - Remove users from an account
- User management: Read - Retrieve user and role information
- User management: Update - Update users and role assignments
Important prerequisites
Role validation required
When creating or updating users, you must assign roles that already exist in the account.
User limit enforced
Each account has a maximum number of users (maxUsers). If the account is at its limit, create requests fail with:
[
{
"error_code": "REQUEST_MALFORMED",
"message": "Maximum number of users reached for this account"
}
]
Common workflow
- Get an OAuth access token.
https://oauth.brightcove.com/v4/access_token - Fetch available roles for the account (
GET /v1/accounts/{account_id}/roles). - Create a user with valid role names (
POST /v1/accounts/{account_id}/users) or update role assignments (PATCH/PUT). - Verify results by listing users (
GET /v1/accounts/{account_id}/users) or retrieving a single user (GET /v1/accounts/{account_id}/users/{user_id}).
Endpoints
| Use case | Method and endpoint | Notes |
|---|---|---|
| Get account roles | GET /v1/accounts/{account_id}/roles |
Use returned name values for role assignments |
| List users | GET /v1/accounts/{account_id}/users |
Returns users for the specified account |
| Get user details | GET /v1/accounts/{account_id}/users/{user_id} |
Returns a single user by user_id |
| Create user | POST /v1/accounts/{account_id}/users |
Creates a new user or adds an existing user to the account |
| Update user (partial) | PATCH /v1/accounts/{account_id}/users/{user_id} |
Updates only provided fields (commonly roles) |
| Replace user roles | PUT /v1/accounts/{account_id}/users/{user_id}/roles |
Replaces all role assignments for the user |
| Delete user | DELETE /v1/accounts/{account_id}/users/{user_id} |
Removes the user from the account |
Example requests
Get account roles
curl --location 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/roles' \
--header 'Authorization: Bearer {access_token}'
List users
curl --location 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/users' \
--header 'Authorization: Bearer {access_token}'
Create user
In the request body, roles must contain role name values.
curl --location 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/users' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data-raw '{
"email_address": "newuser@example.com",
"first_name": "Jane",
"last_name": "Smith",
"roles": ["Standard"],
"skipWelcomeEmail": true
}'
Update user (partial) - replace roles
curl --location --request PATCH 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/users/{user_id}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '{
"roles": ["Admin"]
}'
Replace user roles
curl --location --request PUT 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/users/{user_id}/roles' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '["Standard", "Custom Role"]'
Delete user
curl --location --request DELETE 'https://accounts.api.brightcove.com/v1/accounts/{account_id}/users/{user_id}' \
--header 'Authorization: Bearer {access_token}'
Error handling
The API uses standard HTTP status codes and returns JSON error bodies.
Standard error formats
Some errors return a single object:
{
"error_code": "ERROR_CODE_NAME",
"message": "Human-readable error message"
}
Validation errors may return an array of objects:
[
{
"error_code": "REQUEST_MALFORMED",
"message": "Validation message"
}
]
Common errors
- Maximum users reached:
REQUEST_MALFORMED(contact Brightcove Support to add seats) - User already exists:
CONFLICT - Invalid/non-existent role:
REQUEST_MALFORMED(fetch roles and use existing rolenamevalues) - User not found:
NOT_FOUND - Invalid access token:
UNAUTHORIZED - Insufficient permissions:
FORBIDDEN