---
title: "Searches Users by parameters"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/operations/get-users"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# Searches Users by parameters

`GET` `/users`

Operation ID: `get-users`

Searches Users by parameters

## Query parameters

- `id` (integer, int32, optional) - User Id. Other properties are ignored, if used.
- `user_code` (string, optional) - User code.
- `first_name` (string, optional) - First name.
- `surname` (string, optional) - Surname.
- `enabled` (boolean, optional) - Enabled.
- `is_admin` (boolean, optional) - Is admin?
- `select` (string, optional) - Select fields. Available field name values: id, user_code, first_name, surname, enabled, is_system, is_admin Example: id, user_code, is_system
- `order_by` (string, optional) - Order by. Available field name values: id, user_code, first_name, surname, security_profile, modified_on, is_admin. Available direction values: asc, desc. Example: id asc, user_code desc
- `filter_by` (string, optional) - Filter by. Available field name values: id, user_code, first_name, surname, security_profile, modified_on, is_admin. In string values: '|' and ',' characters have to be escaped with slash, i.e. '\\,' '\\|' For operators that support multiple values (in, notin): multiple values are delimited using '|' character Available operators: eq - Equal neq - Not equals lt - Less lte - Less or equal gt - Greater gte - Greater or equal in - In notin - Not In contains - Contains isnull - Is Null isnullorempty - Is Null Or Empty isnotnull - Is Not Null startswith - Starts with endswith - Ends with doesnotcontain - Does not contain For non-nullable fields operators isnull and isnotnull are unavailable For dates operators: contains, startswith, endswith, doesnotcontain, isnullorempty are unavailable For strings operators: lt, lte, gt, gte are unavailable Example: first_name:eq:alex,is_admin:eq:true
- `page_number` (integer, int32, optional)
- `page_size` (integer, int32, optional)

## Header parameters

- `x-api-key` (string, required) - Api subscription key
- `Cache-Control` (string, optional)
- `Authorization` (string, required) - Bearer token for authorization (e.g., Bearer <token>)

## Responses

- `200` - Paging Response with Users data
- `400` - Bad request
- `401` - Unauthorized
- `403` - Forbidden

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
paths:
  /users:
    get:
      tags:
        - users
      summary: Searches Users by parameters
      description: Searches Users by parameters
      operationId: get-users
      parameters:
        - name: id
          in: query
          description: User Id. Other properties are ignored, if used.
          schema:
            type: integer
            description: User Id. Other properties are ignored, if used.
            format: int32
            nullable: true
        - name: user_code
          in: query
          description: User code.
          schema:
            type: string
            description: User code.
            nullable: true
        - name: first_name
          in: query
          description: First name.
          schema:
            type: string
            description: First name.
            nullable: true
        - name: surname
          in: query
          description: Surname.
          schema:
            type: string
            description: Surname.
            nullable: true
        - name: enabled
          in: query
          description: Enabled.
          schema:
            type: boolean
            description: Enabled.
            nullable: true
        - name: is_admin
          in: query
          description: Is admin?
          schema:
            type: boolean
            description: Is admin?
            nullable: true
        - name: select
          in: query
          description: "Select fields.\r

            \r

            Available field name values: id, user_code, first_name, surname,
            enabled, is_system, is_admin\r

            \r

            Example: id, user_code, is_system"
          schema:
            type: string
            description: "Select fields.\r

              \r

              Available field name values: id, user_code, first_name, surname,
              enabled, is_system, is_admin\r

              \r

              Example: id, user_code, is_system"
            nullable: true
        - name: order_by
          in: query
          description: "Order by. \r

            \r

            Available field name values: id, user_code, first_name, surname,
            security_profile, modified_on, is_admin. \r

            \r

            Available direction values: asc, desc. \r

            \r

            Example: id asc, user_code desc"
          schema:
            type: string
            description: "Order by. \r

              \r

              Available field name values: id, user_code, first_name, surname,
              security_profile, modified_on, is_admin. \r

              \r

              Available direction values: asc, desc. \r

              \r

              Example: id asc, user_code desc"
            nullable: true
        - name: filter_by
          in: query
          description: "Filter by. \r

            Available field name values: id, user_code, first_name, surname,
            security_profile, modified_on, is_admin.\r

            \            \r

            In string values: '|' and ',' characters have to be escaped with
            slash, i.e. '\\\\,' '\\\\|'\r

            \            \r

            For operators that support multiple values (in, notin): multiple
            values are delimited using '|' character\r

            \r

            Available operators:\r

            \r

            eq -  Equal\r

            \r

            neq - Not equals\r

            \r

            lt  - Less\r

            \r

            lte - Less or equal\r

            \r

            gt -  Greater\r

            \r

            gte - Greater or equal\r

            \r

            in  - In\r

            \r

            notin - Not In\r

            \            \r

            contains - Contains\r

            \r

            isnull - Is Null\r

            \            \r

            isnullorempty - Is Null Or Empty\r

            \r

            isnotnull - Is Not Null\r

            \r

            startswith - Starts with\r

            \r

            endswith - Ends with\r

            \r

            doesnotcontain - Does not contain\r

            \            \r

            For non-nullable fields operators isnull and isnotnull are
            unavailable\r

            \r

            For dates operators: contains, startswith, endswith, doesnotcontain,
            isnullorempty are unavailable\r

            \            \r

            For strings operators: lt, lte, gt, gte are unavailable\r

            \            \r

            Example: first_name:eq:alex,is_admin:eq:true"
          schema:
            type: string
            description: "Filter by. \r

              Available field name values: id, user_code, first_name, surname,
              security_profile, modified_on, is_admin.\r

              \            \r

              In string values: '|' and ',' characters have to be escaped with
              slash, i.e. '\\\\,' '\\\\|'\r

              \            \r

              For operators that support multiple values (in, notin): multiple
              values are delimited using '|' character\r

              \r

              Available operators:\r

              \r

              eq -  Equal\r

              \r

              neq - Not equals\r

              \r

              lt  - Less\r

              \r

              lte - Less or equal\r

              \r

              gt -  Greater\r

              \r

              gte - Greater or equal\r

              \r

              in  - In\r

              \r

              notin - Not In\r

              \            \r

              contains - Contains\r

              \r

              isnull - Is Null\r

              \            \r

              isnullorempty - Is Null Or Empty\r

              \r

              isnotnull - Is Not Null\r

              \r

              startswith - Starts with\r

              \r

              endswith - Ends with\r

              \r

              doesnotcontain - Does not contain\r

              \            \r

              For non-nullable fields operators isnull and isnotnull are
              unavailable\r

              \r

              For dates operators: contains, startswith, endswith,
              doesnotcontain, isnullorempty are unavailable\r

              \            \r

              For strings operators: lt, lte, gt, gte are unavailable\r

              \            \r

              Example: first_name:eq:alex,is_admin:eq:true"
            nullable: true
        - name: page_number
          in: query
          schema:
            maximum: 100000
            minimum: 1
            type: integer
            format: int32
        - name: page_size
          in: query
          schema:
            maximum: 2147483647
            minimum: 1
            type: integer
            format: int32
        - name: x-api-key
          in: header
          description: Api subscription key
          required: true
          schema:
            type: string
        - name: Cache-Control
          in: header
          required: false
          schema:
            type: string
            default: no-cache
        - name: Authorization
          in: header
          required: true
          description: Bearer token for authorization (e.g., Bearer <token>)
          schema:
            type: string
      responses:
        "200":
          description: Paging Response with Users data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User.PagingResponse"
              example:
                data:
                  - id: 0
                    user_code: string
                    first_name: string
                    surname: string
                    security_profile:
                      id: 0
                      name: string
                    is_admin: true
                    enabled: true
                    modified_on: string
                    outlets:
                      - id: 0
                        name: string
                    stock_outlets:
                      - id: 0
                        name: string
                page_number: 0
                page_size: 0
                total_records: 0
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
security: []
components:
  schemas:
    User.PagingResponse:
      title: ""
      type: object
      properties:
        data:
          type: array
          items:
            $ref: "#/components/schemas/User"
          nullable: true
        page_number:
          type: integer
          format: int32
        page_size:
          type: integer
          format: int32
        total_records:
          type: integer
          format: int32
      additionalProperties: false
    ProblemDetails:
      title: ""
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    User:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Id.
          format: int32
          nullable: true
        user_code:
          type: string
          description: User code.
          nullable: true
        first_name:
          type: string
          description: First name.
          nullable: true
        surname:
          type: string
          description: Surname.
          nullable: true
        security_profile:
          $ref: "#/components/schemas/UserSecurityProfile"
        is_admin:
          type: boolean
          description: Is admin.
        enabled:
          type: boolean
          description: Is enabled.
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
          nullable: true
        outlets:
          type: array
          items:
            $ref: "#/components/schemas/UserOutlet"
          description: Contain list of outlets that user has access to
          nullable: true
        stock_outlets:
          type: array
          items:
            $ref: "#/components/schemas/UserOutlet"
          description: Contain list of stock outlets that user has access to
          nullable: true
      additionalProperties: false
      description: User model
    UserSecurityProfile:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Id
          format: int32
          nullable: true
        name:
          type: string
          description: Security profile name
          nullable: true
      additionalProperties: false
      description: User security profile model
    UserOutlet:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Id.
          format: int32
        name:
          type: string
          description: Name.
          nullable: true
      additionalProperties: false
      description: User outlet model
```
