---
title: "GET /roles"
method: GET
path: "/roles"
tags: ["Roles"]
---

# GET /roles

`GET /roles`

This endpoint returns a list of all roles in current user's account.

## Query parameters

- `id__in` string
- `roleName__contains` string
- `include` string[]
- `pageToken` string
- `pageSize` integer

## Response `200`

List of roles.

- ApiPaginatedRoleResponse — Used to wrap results for a paginated response, containing information on how to retrieve further pages.
  - `nextPageToken` string, nullable, required — Token to retrieve the next page. The value of this token is passed into the field pageToken. This value can be null if there is no next page.
  - `prevPageToken` string, nullable, required — Token to retrieve the previous page. The value of this token is passed into the field pageToken. This value can be null of there is no previous page.
  - `results` object[], required — The result set from a collection API call.
    - `id` string, uuid, required — The ID of the role.
    - `assignable` boolean — True if the user doing the request can assign this role to other users, false otherwise.
    - `userCount` integer — Count of users that are associated with this role in the account
    - `name` string, required — The name of the role.
    - `notes` string — The notes of the role.
    - `default` boolean, required — True if the role is one of the default roles for the account, false otherwise.
    - `permissions` Permissions
      - `administrator` boolean — All permissions are enabled - create, delete, edit, and view access to all accounts and user settings, bridges, cameras, layouts, audit log and archive.
      - `editAccounts` boolean — Edit Control, Days, Security, Camera, Alerts, Notifications, Privacy, Sharing, Responders, Default retentions, and camera resolution settings.
      - `layoutAdministrator` boolean — Create, delete and edit any accessible layouts. All user layouts are visible to admin users.
      - `createLayouts` boolean — Ability to create layouts and edit the layouts created. This does not grant permission to edit layouts created by other users.
      - `editNoBillingDeviceSettings` boolean — Edit Camera Settings except for Cloud Retention and Full Video Resolution. Cannot add or delete cameras. Edit existing Analytics. Cannot add or delete Analytics.
      - `turnCamerasOnOff` boolean — Turn Cameras on/off. Cameras off cannot be recorded.
      - `editMotionAreas` boolean — Edit Motion Settings. Set object size and sensitivity, add/delete regions, add/delete alerts for regions. Edit existing Analytics. Set object size and sensitivity, add/delete alerts.
      - `editAllCameraSettings` boolean — Editing all Camera Settings. Cannot add or delete cameras.
      - `editUsers` boolean — Create, delete and edit non-admin users in an end user account.
      - `upgradeEdition` boolean — Upgrade current edition subscription to a higher level edition.
      - `addEditBridgesCameras` boolean — Create, delete, edit, and view Bridges and Cameras. This is the only permission for a non-admin to be able to add and view bridges in an end user account.
      - `editSharing` boolean — Edit Sharing and Responders settings.
      - `controlPTZ` boolean — Control Pan, Tilt, Zoom, & recall stations while viewing a preview or live video of PTZ cameras.
      - `editPTZStations` boolean — Edit PTZ Settings. Set PTZ mode and create, delete, edit stations.
      - `addEditSpeakers` boolean — Add speakers, edit speaker settings, delete speakers.
      - `editSpeakers` boolean — Edit speaker settings. Cannot add or delete speakers.
      - `viewLiveVideo` boolean — View full resolution video live.
      - `viewHistoricVideo` boolean — View history browser and historic video.
      - `downloadVideo` boolean — Download preview and full resolution video.
      - `viewPreviewVideo` boolean — View preview images from cameras.
      - `talkDown` boolean — Allows the users to initiate Talk Down to the camera field(s) of view.
      - `editMap` boolean — Add and edit floors, lines, shapes, and cameras on the map.
      - `viewAuditLog` boolean — View Audit Log and download reports from it.
      - `viewArchive` boolean — View all files and folders within the Archive.
      - `editArchive` boolean — Save videos to Archive - delete, edit, and view files and folders within the Archive.
      - `viewPlugins` boolean — View all Plugins.
      - `editPlugins` boolean — Add and remove plugins.
      - `exportUsers` boolean — Export a list of account users in .csv format.
      - `viewVSP` boolean — User access to view vehicle data, search vehicle across camera & location, set rules, and alert.
      - `editResellerUsers` boolean — Create, delete and edit reseller user who is not an Admin.
      - `editAdminUsers` boolean — Create, delete and edit admin and non-admin users in an end user account. Give access to bridges, cameras, and layouts. Create new end user accounts and give access to them.
      - `viewContract` boolean — View recordings, search, and create new recordings.
      - `addRemovePayment` boolean — Add and remove payment methods.
      - `viewInvoice` boolean — View and download invoices.
      - `placeOrders` boolean — Add products to the shopping cart and place orders.
      - `viewShipments` boolean — View the status of shipments.
      - `viewPricingInformation` boolean — View pricing information.
      - `viewResellerProgramInformation` boolean — View Marketing's reseller program information.
      - `viewVSPRule` boolean — View VSP rules.
      - `editVSPRule` boolean — Edit VSP rules.
      - `viewVehicleList` boolean — View vehicle lists.
      - `editVehicleList` boolean — Edit vehicle lists.
      - `viewAutomations` boolean — View automation alerts, rules, and actions.
      - `editAutomations` boolean — Edit automation alerts, rules, and actions.
      - `editAlertManagerRulesAndActions` boolean — Edit Automations rules and actions.
      - `viewAlertManagerRulesAndActions` boolean — View Alert Manager rules and actions.
  - `totalSize` integer, required — Size of the total result set.

## Other responses

- `400` — The supplied object is invalid. Error detail will contain the validation error.
- `401` — You are not authenticated. Please authenticate and try again.
- `500` — Something went wrong in the server. Please try again.

---

[API](https://skmtc.net/eagleeyenetworks/apis/devices.md) · [All operations](https://skmtc.net/eagleeyenetworks/apis/devices/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeyenetworks/devices/versions/df57313de545/schema)
