> ## 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.



## 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'
      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
        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
      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
        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
      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
        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
        - 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
        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
      title: UserRoleTeamGet
    UserRoleEnum:
      type: string
      enum:
        - admin
        - editor
        - monitor_editor
        - viewer
      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:

        SELECT_ORGANIZATION

        ├── SNOWFLAKE_ORGANIZATION

        │   └── SNOWFLAKE_ACCOUNT

        │       ├── TEAM

        │       └── USAGE_GROUP

        ├── DATABRICKS_ACCOUNT

        │   └── DATABRICKS_CONNECTION

        │       ├── TEAM

        │       └── USAGE_GROUP

        └── TABLEAU_SITE
            ├── TEAM
            └── 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

````