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

# List users

> > ⚠️ This endpoint is in [public preview](/preview/roadmap).

List users that are members of the caller's organization.



## OpenAPI

````yaml /preview/openapi.json get /preview/v2/users
openapi: 3.1.0
info:
  title: sfc-api
  description: >-
    Public preview API - subject to change. See
    https://docs.sfcompute.com/preview/roadmap for details.
  version: 0.1.0
servers:
  - url: https://api.sfcompute.com
security:
  - bearer_auth: []
tags:
  - name: Pools
    description: A bucket of owned compute balance over time.
  - name: Orders
    description: >-
      Place orders targeting a capacity to increase your reserved compute
      balance during some time period.
  - name: Instance Templates
    description: Reusable instance configuration.
  - name: Images
    description: Custom machine images for instances.
  - name: Roles
    description: TOML-based permission role definitions.
  - name: Grants
    description: Bind principals (users or tokens) to roles on a workspace.
  - name: Tokens
    description: Workspace-scoped API tokens.
  - name: Instances
    description: Spin up instances in a capacity to use your available compute.
  - name: Instance SKU Catalog
    description: Browse available instance SKU property definitions.
  - name: Procurements
    description: Market automations that maintain capacity by placing buy/sell orders.
  - name: Deployments
    description: Deployment automations that maintain a fleet of instances on a capacity.
  - name: Users
    description: Read-only access to users within the caller's organization.
  - name: Workspaces
    description: Resource containers scoped to an account.
  - name: Permissions
    description: Inspect what the caller is allowed to do.
  - name: Billing
    description: Billing profile, contacts, and auto top-up settings.
  - name: Orderbook
    description: >-
      Read-only orderbook visibility: bid/ask spread, depth of book, and
      historical fills, keyed on hardware requirements + delivery window.
  - name: Orders
    description: >-
      Estimate an order before placing it: filled price, fee, and operational
      notices.
paths:
  /preview/v2/users:
    get:
      tags:
        - Users
      summary: List users
      description: |-
        > ⚠️ This endpoint is in [public preview](/preview/roadmap).

        List users that are members of the caller's organization.
      operationId: list_users_handler
      parameters:
        - name: id
          in: query
          description: Filter by user ID or resource path (repeatable).
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ResourcePathOrId_UserId'
          style: form
          explode: true
        - name: email
          in: query
          description: >-
            Filter to the user with this email address. Matched
            case-insensitively against the member's non-deleted identities.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            format: u-int32
            default: 50
            maximum: 200
            minimum: 1
        - name: starting_after
          in: query
          description: Set to the response's `cursor` to fetch the next page.
          required: false
          schema:
            $ref: '#/components/schemas/UsersCursor'
        - name: ending_before
          in: query
          description: Set to the response's `cursor` to fetch the previous page.
          required: false
          schema:
            $ref: '#/components/schemas/UsersCursor'
      responses:
        '200':
          description: A paginated list of users.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUsersResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '422':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
components:
  schemas:
    ResourcePathOrId_UserId:
      type: string
      description: >-
        A resource path like 'sfc:user:my-user' _or_ an ID. Resource paths are
        human-readable but not stable - they change when resources are renamed
        or moved. IDs are stable and permanent.
      examples:
        - my-resource-name
      pattern: ([a-zA-Z0-9][a-zA-Z0-9._-]{0,254})|(sfc:user:[a-zA-Z0-9._-]+)
    UsersCursor:
      type: string
      examples:
        - usrc_gqXR7s0Kj5mHvE2wNpLc4Q
      pattern: ^usrc_[A-Za-z0-9_-]+$
    ListUsersResponse:
      type: object
      required:
        - object
        - data
        - has_more
      properties:
        object:
          type: string
          const: list
          default: list
          readOnly: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserResponse'
        has_more:
          type: boolean
        cursor:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UsersCursor'
    UnauthorizedError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: authentication_error
              default: authentication_error
              readOnly: true
            message:
              type: string
              x-speakeasy-error-message: true
    ForbiddenError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: forbidden
              default: forbidden
              readOnly: true
            message:
              type: string
              x-speakeasy-error-message: true
    UnprocessableEntityError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: unprocessable_entity
              default: unprocessable_entity
              readOnly: true
            message:
              type: string
              x-speakeasy-error-message: true
            details:
              type: array
              items:
                $ref: '#/components/schemas/ErrorDetail'
    InternalServerError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: api_error
              default: api_error
              readOnly: true
            message:
              type: string
              x-speakeasy-error-message: true
    UserResponse:
      type: object
      required:
        - object
        - id
        - resource_path
        - created_at
      properties:
        object:
          type: string
          const: user
          default: user
          readOnly: true
        id:
          $ref: '#/components/schemas/UserId'
        resource_path:
          $ref: '#/components/schemas/userResourcePath_UserId'
        created_at:
          $ref: '#/components/schemas/UnixEpoch'
        email:
          type:
            - string
            - 'null'
          description: >-
            The member's primary email, or `null` if they have no recorded email
            identity.
        first_name:
          type:
            - string
            - 'null'
          description: The member's first name, or `null` if not recorded.
        last_name:
          type:
            - string
            - 'null'
          description: The member's last name, or `null` if not recorded.
    ErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        field:
          type:
            - string
            - 'null'
          description: The field that caused the error (for validation errors)
        code:
          type: string
          description: Specific error code for this detail
        message:
          type: string
          description: Human-readable error message
    UserId:
      type: string
      examples:
        - my-resource-name
      maxLength: 255
      minLength: 1
      pattern: '[a-zA-Z0-9][a-zA-Z0-9._-]{0,254}'
    userResourcePath_UserId:
      type: string
      description: 'A resource path for a user resource. Format: sfc:user:<name>.'
      examples:
        - sfc:user:<name>
      pattern: sfc:user:[a-zA-Z0-9._-]+
    UnixEpoch:
      type: integer
      format: int64
      description: Unix timestamp.
      example: 1738972800
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Create an API token using `sf tokens create` or at
        https://sfcompute.com/account/api-keys.

````