Managing Users

In this topic you will learn how to manage the users that have access to Studio.

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:

  1. Login to Studio.
  2. Open the Admin ( ) module.
  3. 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:

  1. Click Add user.
  2. Enter the First Name, Last Name and Email of the user.
  3. 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.
  4. Click Save.
  5. Add user UI

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:

  1. Click on the three-dot menu icon below the Configuration tab( ). Click on the Edit option to show the user details.
  2. Edit user UI
  3. You can change the user Role by selecting another available role.
  4. Edit user role UI
  5. Click Save to update the changes.

Deleting a user

To delete a user, follow these steps:

  1. Click on the three-dot menu icon below the Configuration tab( ). Click on the Delete option.
  2. Delete user UI
  3. Click Delete to confirm the deletion.
  4. Delete user UI

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.

Primary user UI

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

Confirm 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

  1. Get an OAuth access token.
    https://oauth.brightcove.com/v4/access_token
  2. Fetch available roles for the account (GET /v1/accounts/{account_id}/roles).
  3. Create a user with valid role names (POST /v1/accounts/{account_id}/users) or update role assignments (PATCH / PUT).
  4. 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

User Management API 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 role name values)
  • User not found: NOT_FOUND
  • Invalid access token: UNAUTHORIZED
  • Insufficient permissions: FORBIDDEN