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

# List users

> Retrieve all users in an organization with pagination.

<Warning>
  This v1 endpoint is deprecated and will be removed in the coming weeks. Use
  [`GET /users`](/v2-api-reference/users/list-users) in the
  [v2 API](/v2/introduction) instead. The v2 equivalent is paginated with an
  opaque `page_token`; see [Pagination](/v2/introduction#pagination).
</Warning>


## OpenAPI

````yaml https://api.select.dev/public_openapi get /api/{organization_id}/users
openapi: 3.1.0
info:
  title: SELECT API (v1)
  version: 0.1.0
servers:
  - url: https://api.select.dev/
    description: SELECT API
security: []
paths:
  /api/{organization_id}/users:
    get:
      tags:
        - users
        - public-api
      summary: List users
      description: Retrieve all users in an organization with pagination.
      operationId: get_organization_users_route_api__organization_id__users_get
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            title: Organization Id
        - name: limit
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 1000
                minimum: 1
              - type: 'null'
            default: 100
            title: Limit
        - name: offset
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                minimum: 0
              - type: 'null'
            default: 0
            title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicListUsersResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
        - HTTPBearer: []
        - HTTPBearer: []
components:
  schemas:
    PublicListUsersResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/UserOut'
          type: array
          title: Items
          description: List of users
        remaining_count:
          type: integer
          title: Remaining Count
          description: Number of users remaining after pagination
        limit:
          type: integer
          title: Limit
          description: Maximum number of items returned
        offset:
          type: integer
          title: Offset
          description: Number of items skipped
      type: object
      required:
        - items
        - remaining_count
        - limit
        - offset
      title: PublicListUsersResponse
      description: Response model for listing users with pagination metadata.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UserOut:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        email_address:
          type: string
          title: Email Address
        identity_provider:
          type: string
          title: Identity Provider
        picture:
          anyOf:
            - type: string
            - type: 'null'
          title: Picture
        last_login_sso_groups:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Last Login Sso Groups
        num_pages_visited_last_2_months:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Pages Visited Last 2 Months
        last_login_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Login At
        last_activity_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Activity At
        roles:
          anyOf:
            - items:
                anyOf:
                  - $ref: '#/components/schemas/UserRoleEmailGet'
                  - $ref: '#/components/schemas/UserRoleSSOGroupGet'
                  - $ref: '#/components/schemas/UserRoleDefaultGet'
                  - $ref: '#/components/schemas/UserRoleTeamGet'
              type: array
            - type: 'null'
          title: Roles
      type: object
      required:
        - id
        - name
        - email_address
        - identity_provider
        - picture
        - last_login_sso_groups
        - num_pages_visited_last_2_months
      title: UserOut
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    UserRoleEmailGet:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        role:
          $ref: '#/components/schemas/UserRoleEnum'
        entity:
          $ref: '#/components/schemas/PermissionEntityWithDisplayName'
        organization_id:
          type: string
          title: Organization Id
        email_address:
          type: string
          title: Email Address
        sso_group_name:
          type: 'null'
          title: Sso Group Name
        granted_to_team_name:
          type: 'null'
          title: Granted To Team Name
        granted_to_team_id:
          type: 'null'
          title: Granted To Team Id
        is_default:
          type: boolean
          const: false
          title: Is Default
          default: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - role
        - entity
        - organization_id
        - email_address
        - sso_group_name
        - granted_to_team_name
        - granted_to_team_id
      title: UserRoleEmailGet
    UserRoleSSOGroupGet:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        role:
          $ref: '#/components/schemas/UserRoleEnum'
        entity:
          $ref: '#/components/schemas/PermissionEntityWithDisplayName'
        organization_id:
          type: string
          title: Organization Id
        email_address:
          type: 'null'
          title: Email Address
        sso_group_name:
          type: string
          title: Sso Group Name
        granted_to_team_name:
          type: 'null'
          title: Granted To Team Name
        granted_to_team_id:
          type: 'null'
          title: Granted To Team Id
        is_default:
          type: boolean
          const: false
          title: Is Default
          default: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - role
        - entity
        - organization_id
        - email_address
        - sso_group_name
        - granted_to_team_name
        - granted_to_team_id
      title: UserRoleSSOGroupGet
    UserRoleDefaultGet:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        role:
          $ref: '#/components/schemas/UserRoleEnum'
        entity:
          $ref: '#/components/schemas/PermissionEntityWithDisplayName'
        organization_id:
          type: string
          title: Organization Id
        email_address:
          type: 'null'
          title: Email Address
        sso_group_name:
          type: 'null'
          title: Sso Group Name
        granted_to_team_name:
          type: 'null'
          title: Granted To Team Name
        granted_to_team_id:
          type: 'null'
          title: Granted To Team Id
        is_default:
          type: boolean
          const: true
          title: Is Default
      type: object
      required:
        - id
        - created_at
        - updated_at
        - role
        - entity
        - organization_id
        - email_address
        - sso_group_name
        - granted_to_team_name
        - granted_to_team_id
        - is_default
      title: UserRoleDefaultGet
    UserRoleTeamGet:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        role:
          $ref: '#/components/schemas/UserRoleEnum'
        entity:
          $ref: '#/components/schemas/PermissionEntityWithDisplayName'
        organization_id:
          type: string
          title: Organization Id
        email_address:
          type: 'null'
          title: Email Address
        sso_group_name:
          type: 'null'
          title: Sso Group Name
        granted_to_team_name:
          type: string
          title: Granted To Team Name
        granted_to_team_id:
          type: string
          format: uuid
          title: Granted To Team Id
        is_default:
          type: boolean
          const: false
          title: Is Default
          default: false
      type: object
      required:
        - id
        - created_at
        - updated_at
        - role
        - entity
        - organization_id
        - email_address
        - sso_group_name
        - granted_to_team_name
        - granted_to_team_id
      title: UserRoleTeamGet
    UserRoleEnum:
      type: string
      enum:
        - admin
        - editor
        - monitor_editor
        - viewer
        - team_creator
      title: UserRoleEnum
    PermissionEntityWithDisplayName:
      properties:
        type:
          $ref: '#/components/schemas/PermissionEntityType'
        id:
          type: string
          title: Id
        display_name:
          type: string
          title: Display Name
        usage_group_details:
          anyOf:
            - $ref: '#/components/schemas/UsageGroupDetails'
            - type: 'null'
        parent_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Parent Id
      type: object
      required:
        - type
        - id
        - display_name
      title: PermissionEntityWithDisplayName
      description: >-
        Permission entity with a human readable display name.


        Args:
            type: The type of the entity. `usage_group`, `snowflake_account`,
                `snowflake_organization`, `databricks_account`, `databricks_connection`,
                `team`, or `select_organization`.
            id: The id of the entity. The `usage_group_id`, `snowflake_account_uuid`,
                `snowflake_organization_name`, `databricks_account_id`,
                `databricks_conn_id`, `team_id`, or `organization_id`.
            display_name: A human readable name for the entity. Typically colon delimited.
                On this class the property is required.
            usage_group_details: Optional details about the usage group. Only included in
                serialization when type is USAGE_GROUP.

        Note that the hashing and equality check are done based on the `type`
        and `id` fields

        as per the `PermissionEntity` class. This means that even if the
        `display_name` is

        different, two `PermissionEntityWithDisplayName` instances will still
        compare equal.
    PermissionEntityType:
      type: string
      enum:
        - select_organization
        - snowflake_organization
        - snowflake_account
        - databricks_account
        - databricks_connection
        - bigquery_connection
        - aws_account
        - tableau_site
        - team
        - usage_group
      title: PermissionEntityType
      description: >-
        The type of the permission entity.


        Comparison operations are supported to understand the level in the
        hierarchy of

        the type.


        NOTE: The object hierarchy is not linear. SELECT Organizations are still
        at the

        top, but teams and usage groups are effectively the same level, but will
        return

        false if compared.


        Hierarchy (see ``grants.CONTAINS`` for the authoritative tree):

        SELECT_ORGANIZATION

        ├── SNOWFLAKE_ORGANIZATION

        │   └── SNOWFLAKE_ACCOUNT

        │       └── USAGE_GROUP

        ├── DATABRICKS_ACCOUNT

        │   └── DATABRICKS_CONNECTION

        ├── BIGQUERY_CONNECTION

        ├── AWS_ACCOUNT

        ├── TABLEAU_SITE

        ├── TEAM

        │   └── USAGE_GROUP

        └── USAGE_GROUP
    UsageGroupDetails:
      properties:
        set_name:
          type: string
          title: Set Name
        group_name:
          type: string
          title: Group Name
      type: object
      required:
        - set_name
        - group_name
      title: UsageGroupDetails
      description: |-
        Details about a usage group entity.

        This is only populated when the entity type is USAGE_GROUP.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````