> ## Documentation Index
> Fetch the complete documentation index at: https://docs.d3lay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a list of users

> Fuzzy Match via id, username, name and email



## OpenAPI

````yaml get /users
openapi: 3.0.0
info:
  title: Identity
  description: ''
  version: 0.0.1
  contact:
    name: Delay Support
    url: https://d3lay.com/support
    email: dev@d3lay.com
servers:
  - url: http://localhost:{port}
    description: Local development server
    variables:
      port:
        enum:
          - '80'
          - '8080'
        default: '8080'
  - url: https://hive.test.delay.dev
    description: Integration testing server
security: []
tags:
  - name: User
  - name: Workspace
paths:
  /users:
    get:
      tags:
        - User
      summary: Retrieve a list of users
      description: Fuzzy Match via id, username, name and email
      parameters:
        - $ref: '#/components/parameters/APIVersionHeader'
        - $ref: '#/components/parameters/ContentTypeHeader'
        - $ref: '#/components/parameters/SortByParameter'
        - $ref: '#/components/parameters/SortOrderParameter'
        - $ref: '#/components/parameters/FilterByID'
        - $ref: '#/components/parameters/FilterByCreatedBy'
        - $ref: '#/components/parameters/FilterByUpdatedBy'
        - $ref: '#/components/parameters/FilterByUserType'
        - $ref: '#/components/parameters/FilterByStatus'
        - $ref: '#/components/parameters/CreatedAtFrom'
        - $ref: '#/components/parameters/CreatedAtTo'
        - $ref: '#/components/parameters/UpdatedAtFrom'
        - $ref: '#/components/parameters/UpdatedAtTo'
        - $ref: '#/components/parameters/SearchFuzzyMatch'
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Success
          headers:
            X-Message:
              $ref: '#/components/headers/X-Message'
            Link:
              $ref: '#/components/headers/Link'
            X-Total-Count:
              $ref: '#/components/headers/X-Total-Count'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
              examples:
                successWithData:
                  summary: Success with data
                  value:
                    - id: d4add56e-c345-4ac9-b392-7a890a60559a
                      identifier: ben
                      name: Benjamin Zhang
                      email: z@benwk.com
                      user_type: saas_admin
                      status: active
                      created_at: '2023-05-06T00:00:00Z'
                      updated_at: '2023-05-06T00:00:00Z'
                      created_by: 98d91cd7-860d-4869-937a-5af32eff2f4a
                      updated_by: 98d91cd7-860d-4869-937a-5af32eff2f4a
                    - id: e513d2c8-319e-4bc3-898b-3933ab39b452
                      identifier: john
                      name: John Jiang
                      email: john@bite.com
                      user_type: saas_user
                      status: onboarding
                      created_at: '2023-05-06T00:00:00Z'
                      updated_at: '2023-05-06T00:00:00Z'
                      created_by: 98d91cd7-860d-4869-937a-5af32eff2f4a
                      updated_by: 98d91cd7-860d-4869-937a-5af32eff2f4a
          links: {}
        '400':
          $ref: b06f6465-79d8-4843-8f77-2322f3f60e07
          links: {}
        '401':
          $ref: e12596e7-ef96-4a65-a1f5-583cabaf1d66
          links: {}
        '403':
          $ref: 956dd0ef-ce7d-487d-83f7-63a8e9985cee
          links: {}
        '429':
          $ref: 8ffdc13c-c35b-4efa-babb-653b02e9b200
          links: {}
        '500':
          $ref: f3448cdd-8abe-41a4-91cb-986f10eefabc
          links: {}
      deprecated: false
      security:
        - BearerAuth: []
components:
  parameters:
    APIVersionHeader:
      name: X-API-Version
      in: header
      description: Your API version
      schema:
        type: string
        enum:
          - v1
        default: v1
    ContentTypeHeader:
      name: Content-Type
      in: header
      description: ''
      required: false
      example: application/json
      schema:
        type: string
        enum:
          - application/json
          - application/xml
          - application/x-www-form-urlencoded
          - application/octet-stream
          - application/pdf
          - text/plain
          - text/html
          - multipart/form-data
    SortByParameter:
      name: sort_by
      in: query
      description: The field to sort by.
      required: false
      example: created_at
      schema:
        type: string
    SortOrderParameter:
      name: sort_order
      in: query
      description: Order of sorting (asc or desc)
      schema:
        type: string
        enum:
          - asc
          - desc
        description: |
          Sort order:
            * `asc` - Ascending, from A to Z
            * `desc` - Descending, from Z to A
      example: desc
    FilterByID:
      name: id
      in: query
      description: >-
        Filter data by its id, require metadata permissions, REQUIRE metadata
        permissions
      required: false
      example: 5f972bea-8408-4a61-b1fc-ac637a2e11eb
      schema:
        type: string
    FilterByCreatedBy:
      name: created_by
      in: query
      description: Filter data by the user who created them, REQUIRE metadata permissions
      required: false
      example: 5f972bea-8408-4a61-b1fc-ac637a2e11eb
      schema:
        type: string
    FilterByUpdatedBy:
      name: updated_by
      in: query
      description: >-
        Filter data by the user who last updated them, REQUIRE metadata
        permissions
      required: false
      example: 5f972bea-8408-4a61-b1fc-ac637a2e11eb
      schema:
        type: string
    FilterByUserType:
      name: user_type
      in: query
      description: The type of user to filter by.
      required: false
      example: saas_admin
      schema:
        type: string
    FilterByStatus:
      name: status
      in: query
      description: Filter user by status.
      required: false
      example: onboarding
      schema:
        type: string
    CreatedAtFrom:
      name: created_at_from
      in: query
      description: Filter data that were created after this date.
      required: false
      example: '2023-05-06T00:00:00Z'
      schema:
        type: string
        format: date-time
    CreatedAtTo:
      name: created_at_to
      in: query
      description: Filter data that were created before this date.
      required: false
      example: '2023-05-06T00:00:00Z'
      schema:
        type: string
        format: date-time
    UpdatedAtFrom:
      name: updated_at_from
      in: query
      description: Filter data that were updated after this date.
      required: false
      example: '2023-05-06T00:00:00Z'
      schema:
        type: string
        format: date-time
    UpdatedAtTo:
      name: updated_at_to
      in: query
      description: Filter data that were updated before this date.
      required: false
      example: '2023-05-06T00:00:00Z'
      schema:
        type: string
        format: date-time
    SearchFuzzyMatch:
      name: search
      in: query
      description: Fuzzy match data by id, email, name or description.
      required: false
      example: delay
      schema:
        type: string
    PageNumber:
      name: page
      in: query
      description: The page number to retrieve.
      required: false
      example: 1
      schema:
        type: integer
        minimum: 1
    PageSize:
      name: page_size
      in: query
      description: The number of items to retrieve per page.
      required: false
      example: 10
      schema:
        type: integer
        minimum: 1
        maximum: 100
  headers:
    X-Message:
      description: Message for the API request
      schema:
        type: string
      example: >
        Data retrieved successfully Data not found Data created successfully
        Data updated successfully Data deleted successfully
    Link:
      description: Pagination links for list API endpoints
      schema:
        type: string
      example: >
        <https://api.example.com/entity?page=1>; rel="first",
        <https://api.example.com/entity?page=3>; rel="last",
        <https://api.example.com/entity?page=1>; rel="prev",
        <https://api.example.com/entity?page=3>; rel="next"
    X-Total-Count:
      description: Total number of items for the list API endpoints
      schema:
        type: integer
      example: 100
  schemas:
    UserResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: 98d91cd7-860d-4869-937a-5af32eff2f4a
        identifier:
          type: string
          example: ben
        name:
          type: string
          example: Benjamin Zhang
        email:
          type: string
          format: email
          example: z@benwk.com
        user_type:
          type: string
          enum:
            - saas_admin
            - saas_user
            - saas_user_client
          example: saas_user
        status:
          type: string
          enum:
            - active
            - onboarding
            - inactive
            - suspended
            - risky
          example: active
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        created_by:
          type: string
          format: uuid
          example: 98d91cd7-860d-4869-937a-5af32eff2f4a
          description: REQUIRE metadata permissions
        updated_by:
          type: string
          format: uuid
          example: 98d91cd7-860d-4869-937a-5af32eff2f4a
          description: REQUIRE metadata permissions
      required:
        - id
        - identifier
        - name
        - email
        - user_type
        - status
        - created_at
        - updated_at
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````