> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# REST API - Specialized Users

Plan: B2B Developer

Lesson 18 of 19 · 30 min

## Sales Staff

### Get Sales Staff

This API request returns a list of sales staff. See the [List Sales Staffs API reference](/developer/api-reference/rest/b2b/management/sales-staff/get-sales-staffs) for a full list of query parameters.

**Example Request:**

```http showLineNumbers={false}
GET https://api-b2b.bigcommerce.com/api/v3/io/sales-staffs
```

### Get a Sales Staff

If you need an individual Sales Staff details, this is the API request you will want to use because a `salesStaffId` is required as part of the query.

**Example Request:**

```http showLineNumbers={false}
GET https://api-b2b.bigcommerce.com/api/v3/io/sales-staffs/{salesStaffId}
```

The response will return Sales Staff user details such as sales staff ID, name, email, phone number, and a list of assigned companies.

### Update a Sales Staff

This API request is used to update a sales staff company assignment.

**Example Request:**

```http showLineNumbers={false}
PUT https://api-b2b.bigcommerce.com/api/v3/io/sales-staffs/{salesStaffId}
```

The request body requires the following fields:

* `companyId` - the B2B Edition company that the sales staff will be assigned to or unassigned
* `assignStatus` - a value of true or false will determine whether the company is assigned or unassigned to the specified sales staff

**Example Body:**

```json showLineNumbers={false}
[
  {
    "companyId": 0,
    "assignStatus": true
  }
]
```

## Super Admin

The Super Admin IDs related to the API requests in this section are all B2B Edition IDs, not BigCommerce customer IDs.

### Get a Company's Super Admins

This API request will return a list of all the Super Admin users assigned to a specified company.

**Example Request:**

```http showLineNumbers={false}
GET https://api-b2b.bigcommerce.com/api/v3/io/companies/{companyId}/super-admins
```

### Update a Company's Super Admins

This API request will create or delete the super admin relationships of a company.

**Example Request:**

```http showLineNumbers={false}
PUT https://api-b2b.bigcommerce.com/api/v3/io/companies/{companyId}/super-admins
```

The request body requires two fields:

* `superAdminId` - a unique Super Admin ID
* `isAssigned` - true or false, this will create or delete a relationship

**Example Body:**

```json showLineNumbers={false}
{
  "superAdmins": [
    {
      "superAdminId": 1,
      "isAssigned": true
    },
    {
      "superAdminId": 2,
      "isAssigned": true
    }
  ]
}
```

### Create a Super Admin User

This API request will create a new super admin user with no company assigned. This request does not accept any parameters to immediately assign companies. Another request to update the Super Admin's company assignments is required.

**Example Request:**

```http showLineNumbers={false}
POST https://api-b2b.bigcommerce.com/api/v3/io/super-admins
```

The request body requires the following fields in order to correctly create a Super Admin user.

* `firstName`
* `lastName`
* `email`

Additionally, you can provide a BigCommerce `uuid` to give a BigCommerce user access to B2B Edition and make them a Super Admin user. If you just want to create a brand new Super Admin user, the `uuid` field can be left blank as shown in the example body below.

**Example Body:**

```json showLineNumbers={false}
{
  "firstName": "Tom",
  "lastName": "Cat",
  "phone": "0000000000",
  "email": "Tom@gmail.com",
  "uuid": ""
}
```

### Update a Super Admin

This API request will not update a company relationship, but should be used to update user information for a Super Admin.

**Example Request:**

```http showLineNumbers={false}
PUT https://api-b2b.bigcommerce.com/api/v3/io/super-admins/info/{superAdminId}
```

You can include any of the following fields to update a Super Admin user's information.

* `firstName`
* `lastName`
* `uuid` - a super admin ID, specific to B2B Edition
* `phone`
* `channelIds`

**Example Body:**

```json showLineNumbers={false}
{
  "firstName": "string",
  "lastName": "string",
  "uuid": "string",
  "phone": "string",
  "channelIds": [
    0
  ]
}
```

### Get Super Admin information with Company Count

This API request will return a list of Super Admin user information and the amount of companies they are assigned.

**Example Request:**

```http showLineNumbers={false}
GET https://api-b2b.bigcommerce.com/api/v3/io/companies/super-admins
```

### Get Companies of a Super Admin

This API request will return a list of companies assigned to the specified Super Admin user. The response will show the `companyId`, `companyName`, and `companyEmail` of each assigned company.

**Example Request:**

```http showLineNumbers={false}
GET https://api-b2b.bigcommerce.com/api/v3/io/super-admins/{superAdminId}/companies
```

## Resources

* [Sales Staff Management](/developer/api-reference/rest/b2b/management/sales-staff)
* [Super Admin Management](/developer/api-reference/rest/b2b/management/super-admin)