# Get all users

Fetches all authorised users associated with the buyer that the logged-in user belongs to.
Required user role: `ADMIN`

Endpoint: GET /v1/users
Version: v1
Security: apiKey, authToken

## Query parameters:

  - `offset` (integer)
    The offset value for paging, indicating the initial item number to be returned from the data set satisfying the given criteria. Leave out to fetch the first page of results.

  - `limit` (integer)
    The limit of the results for paging, starting at the offset. Limit is always capped at 100.

  - `active` (boolean)

  - `email` (string)

## Response 200 fields (application/json):

  - `users` (array)
    The list of users matching the criteria specified.

  - `users.id` (string, required)
    The unique identifier of the user.

  - `users.buyerId` (string, required)
    The identifier for the identity.

  - `users.name` (string, required)
    The first name of the user.

  - `users.surname` (string, required)
    The last name of the user.

  - `users.email` (string, required)
    E-mail Address of the user

  - `users.mobile` (object)
    Mobile number of the user

  - `users.mobile.countryCode` (string, required)
    The country code of the Buyer's admin user mobile number (e.g. +44).

  - `users.mobile.number` (string, required)
    The mobile number of the Buyer's admin user - excluding country code.

  - `users.active` (boolean, required)
    The state of the user. If the `active` attribute is false, then the user will not be able to log in.

  - `users.dateOfBirth` (object)
    Date of birth of the authorised user.

  - `users.dateOfBirth.year` (integer, required)

  - `users.dateOfBirth.month` (integer, required)

  - `users.dateOfBirth.day` (integer, required)

  - `users.roles` (array, required)
    Roles define the level of access assigned to the user.
* `CREATOR`: Users assigned this role can create, view and update payment runs.
* `CONTROLLER`: Users assigned this role can view and link their company's bank accounts as well as fund payment runs.

  - `users.addedBy` (object)

  - `users.addedBy.rolesNames` (array)
    Roles define the level of access assigned to the user.
* `ADMIN`: Users assigned to this role can create a business and ensure that systems and processes are effectively managed.

  - `users.addedBy.userId` (string, required)
    The unique identifier of the user who added this user.

  - `count` (integer)
    The total number of records (excluding the paging limit).

  - `responseCount` (integer)
    The total number of records returned in this response (always capped at 100).

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "INSUFFICIENT_PERMISSIONS"

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

