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

# List users

> List the users of the caller's own client. Replaces the deprecated `GET /users`.

Filtering follows the standard query filtering rules: `ids` and `langs` are
repeated flat parameters (OR), e.g. `ids=1&ids=2`; `email`, `name` and
`created_at` require a bracket operator, e.g. `email[contains]=example.com`.
Sorting is `order_by=field.direction` (e.g. `order_by=created_at.desc`, the
default); results are paginated with `limit`/`offset`.



## OpenAPI

````yaml /api-reference/services_docs_mintlify_enriched/iam_api.yaml get /iam/v2/users
openapi: 3.1.0
info:
  title: Gcore OpenAPI – IAM API
  license:
    name: Proprietary
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: bab38d72d5e5
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Account
    description: >-
      Account management operations including authentication, password
      management, and account details.
  - name: API Tokens
    description: >-
      Use permanent API tokens for regular automated requests to services.

      You can either set its validity period when creating it or issue a token
      for an unlimited time.

      Please address the API documentation of the specific product in order to
      check if it supports API tokens.


      Newer endpoints under `/v2/…` issue tokens using `_` (underscore) as the
      separator

      (for example `42_a1b2c3d4e5f6...`) and are the recommended way to create
      new tokens.

      Legacy endpoints that issue `$`-separated tokens are marked deprecated and
      will be removed

      on **2026-07-17**; tokens that were already issued keep authenticating.


      Provide your APIKey in the Authorization header.


      Example: ```curl -H "Authorization: APIKey 42_a1b2c3d4e5f6..."
      https://api.gcore.com/iam/users/me```


      Please note: When authorizing via SAML SSO, our system does not have any

      information about permissions given to the user by the identity provider.

      Even if the provider revokes the user's access rights, their tokens remain
      active.

      Therefore, if necessary, the token will need to be deleted manually.
  - name: Users
paths:
  /iam/v2/users:
    get:
      tags:
        - Users
      summary: List users
      description: >-
        List the users of the caller's own client. Replaces the deprecated `GET
        /users`.


        Filtering follows the standard query filtering rules: `ids` and `langs`
        are

        repeated flat parameters (OR), e.g. `ids=1&ids=2`; `email`, `name` and

        `created_at` require a bracket operator, e.g.
        `email[contains]=example.com`.

        Sorting is `order_by=field.direction` (e.g. `order_by=created_at.desc`,
        the

        default); results are paginated with `limit`/`offset`.
      operationId: iamListUsersV2
      parameters:
        - name: ids
          in: query
          required: false
          style: form
          explode: true
          description: >-
            Filter by user id. Repeat the parameter for several values (OR),
            e.g. `ids=1&ids=2`.
          schema:
            type: array
            items:
              type: integer
        - name: email
          in: query
          required: false
          style: deepObject
          explode: true
          description: >-
            Filter by email, case-insensitive. Bracket operator required:
            `email[exact]`,

            `email[prefix]`, `email[contains]` or `email[suffix]`, e.g.
            `email[contains]=example.com`.
          schema:
            type: object
            additionalProperties: {}
        - name: name
          in: query
          required: false
          style: deepObject
          explode: true
          description: >-
            Filter by name, case-insensitive. Bracket operator required:
            `name[exact]`,

            `name[prefix]`, `name[contains]` or `name[suffix]`, e.g.
            `name[prefix]=Jo`.
          schema:
            type: object
            additionalProperties: {}
        - name: created_at
          in: query
          required: false
          style: deepObject
          explode: true
          description: >-
            Filter by creation time. Bracket operator required:
            `created_at[gte]`,

            `created_at[gt]`, `created_at[lt]` or `created_at[lte]` (ISO 8601),
            e.g.

            `created_at[gte]=2026-01-01T00:00:00Z&created_at[lt]=2026-02-01T00:00:00Z`.
          schema:
            type: object
            additionalProperties: {}
        - name: langs
          in: query
          required: false
          style: form
          explode: true
          description: >-
            Filter by interface language. Repeat the parameter for several
            values (OR), e.g. `langs=en&langs=ru`.
          schema:
            type: array
            items:
              type: string
              enum:
                - az
                - de
                - en
                - ru
                - zh
        - name: auth_type
          in: query
          required: false
          description: >-
            Filter by login method - a specific social provider, 'sso', or
            'password'.
          schema:
            type: string
            enum:
              - password
              - sso
              - google-oauth2
              - github
        - name: order_by
          in: query
          required: false
          description: >-
            Sort order as `field.direction`, e.g. `order_by=created_at.desc`.
            Allowed

            fields: `created_at`, `email`, `name`. Defaults to
            `created_at.desc`.
          schema:
            type: string
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedClientUserV2List'
        '401':
          $ref: '#/components/responses/401'
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: The maximum number of items.
      schema:
        type: integer
    Offset:
      name: offset
      in: query
      description: Offset relative to the beginning of list.
      schema:
        type: integer
  schemas:
    PaginatedClientUserV2List:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          format: uri
          nullable: true
          example: https://api.gcore.com/iam/v2/users?offset=400&limit=100
        previous:
          type: string
          format: uri
          nullable: true
          example: https://api.gcore.com/iam/v2/users?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ClientUserV2'
    ClientUserV2:
      type: object
      description: Fixed field set for /v2/users.
      required:
        - id
        - email
        - name
        - client
        - groups
        - activated
        - user_type
        - two_fa
        - auth_types
        - created_at
      properties:
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 255
          description: User's email address used for login and notifications.
        name:
          type: string
          maxLength: 255
          description: Full name of the user.
        client:
          type: integer
          nullable: true
          readOnly: true
        lang:
          $ref: '#/components/schemas/LangEnumV2'
        phone:
          type: string
          maxLength: 255
          nullable: true
          description: User phone
        groups:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/GroupV2'
        activated:
          type: boolean
          readOnly: true
          description: Whether the user's membership in this client is activated.
        user_type:
          type: string
          readOnly: true
        two_fa:
          type: boolean
          description: >-
            Indicates whether two-factor authentication (TOTP) is enabled for
            the user.
        auth_types:
          type: array
          readOnly: true
          items:
            type: string
          description: >-
            List of authentication methods available to the user (e.g.,
            'password', 'sso').
        created_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
    LangEnumV2:
      type: string
      enum:
        - az
        - de
        - en
        - ru
        - zh
    GroupV2:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 150
  responses:
    '401':
      description: >-
        Authentication credentials were not provided or given token not valid
        for any token type.
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234_abcdef`
      type: apiKey
      in: header
      name: Authorization

````