Managing Users

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

The User Management page lets you manage who is authorized to use Studio. To open it, you must be a user with the Admin role.

To open the User Management page:

  1. Sign in to Studio.
  2. Open Admin and click User Management.
  3. User Management page

The Users tab shows, for each user:

  • Name and email address.
  • Role - Standard, Admin, or a custom role.
  • Last Login - The last date and time the user signed in to Video Cloud Studio. This is the last login across all Video Cloud Studio accounts, not just the current account.
  • A check mark for each module the user has access to.

The User Management page can be used to:

How many users can I have?

The number of users you can create depends on your plan. If you need more users, you can upgrade your plan to one that offers a higher seat count. The limit applies only to the total number of users that exist at any time; if you create 10 users, delete 5 of them, and create 3 more, you are considered to have 8 users. The Users tab shows how many seats are assigned out of your total entitlement.

Purchasing additional users

If you need more users, you can upgrade your plan to one that offers a larger seat count. Pro and Enterprise accounts should contact their Customer Success Manager for information on adding additional users.

Creating new users

To create a new user:

  1. On the Users tab, click Add User.
  2. Enter the user's Email, First Name, and Last Name.
  3. Select one or more Role entries for the user:
    • Admin - The user has access to the Admin module (creating users, custom ingest profiles, custom fields, media sharing, and so on).
    • Standard - The user does not have access to the Admin module.
    • Custom role - The user has access to specific modules and capabilities defined by the role.
  4. Optionally, expand Module access and Video capabilities to review what the selected role(s) grant.
  5. Click Add User.
  6. Add user dialog

The user receives an email message stating that they have been added to the account.

Editing existing users

To edit a user:

  1. On the Users tab, open the row's overflow menu and click Edit User.
  2. User row overflow menu
  3. Update the user's First Name, Last Name, or Role selection.
  4. Click Save to apply the changes.
  5. Edit user dialog

Deleting a user

To delete a user, open the row's overflow menu and click Delete. Confirm the deletion when prompted.

Delete user confirmation

Changing the primary user

One user in each account is designated the primary user. The primary user always has the Admin role and can only be deleted by Brightcove Support.

To change the primary user, open the row's overflow menu for the user you want to promote and click Set as Primary Admin. You will be prompted to confirm the change.

Confirm primary admin 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