# Get All Roles

## Request

```CURL
GET [[[<REST API URL>|Hub-Rest-Api-URL.html]]]/roles?fields=string&amp;$skip=int&amp;$top=int&amp;query=string&amp;orderBy=string
```

|  Parameter  |  Description  |
| --- | --- |
|  `fields`  |  Optional. Returns only the specified subset of the fields for each Role. Use [Fields Syntax](hub-api-fields-syntax.html) to define the subset.  |
|  `$skip`  |  Optional. Lets you set a number of Roles to skip before returning the first one.  |
|  `$top`  |  Optional. Lets you set the maximum number of Roles to return.  |
|  `query`  |                            Optional. Lets you specify a search query to filter the returned results. See [Query Syntax](hub-api-query-syntax.html) for the definition of supported logical operations syntax. For the Roles, the following fields and tuples are supported:     has: permission — Default roles with some permissions      id: value — Service default role with the given ID      key: value — Default roles with the given key      name: value — Default roles with the given name      permission: permission — Default roles that include the given permission      has: permission — Roles with some permissions      id: value — Role with the given ID      key: roleKey — Role with the given key      name: roleName — Role with the given name      permission: permission — Roles that includes the given permission      permission(key: permissionKey, service: service) — Roles that includes the given permission      permission(service: service) — Roles that have at least one permission from service     |
|  `orderBy`  |  Optional. Returns the list of Roles sorted by a specified field. See [Sorting Syntax](hub-api-sort-syntax.html) for details. Roles support ordering by the following fields: key, name, key, name  |

## Response

|  Response Code  |  Meaning  |
| --- | --- |
|  200 OK  |  Successful request.  |
|  400 Bad Request  |  At least one of the request parameters is invalid. For example, a required field in the passed JSON object is missing. For details, check the error message in the response.  |
|  403 Forbidden  |  The requester has no access to the requested resource.  |
|  404 Not Found  |  The requested resource was not found.  |
|  500 Internal Server Error  |  Failed to process request because of the server error. For details, check the error message in the response.  |

### Response body

```JSON
{
  "skip": int, 
  "top": int, 
  "total": int, 
  "roles": [[[[role|HUB-REST-API_JSON-Scheme.html#role]]], ...]
}
```

