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

# List Users

> Retrieve a paginated list of users in your company.



## OpenAPI

````yaml /api/openapi.json get /users/
openapi: 3.1.0
info:
  title: Craft API
  description: Public API for programmatic access to your Craft data.
  version: 1.0.0
servers:
  - url: https://data.craftflow.co/api/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /users/:
    get:
      tags:
        - Users
      summary: List Users
      description: Retrieve a paginated list of users in your company.
      operationId: listUsers
      parameters:
        - name: is_active
          in: query
          description: Filter by active status.
          required: false
          schema:
            type: boolean
        - name: ordering
          in: query
          description: Sort results by a field. Prefix with `-` for descending order.
          required: false
          schema:
            type: string
            enum:
              - created_at
              - '-created_at'
            default: '-created_at'
        - name: page
          in: query
          description: Page number.
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
        - name: page_size
          in: query
          description: Number of results per page.
          required: false
          schema:
            type: integer
            default: 25
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: A paginated list of users.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                  - data
                  - pagination
              example:
                data:
                  - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    email: jane@example.com
                    first_name: Jane
                    last_name: Smith
                    full_name: Jane Smith
                    is_active: true
                    permissions:
                      - call_center_ai_coach
                      - call_center_ai_record
                    created_at: '2025-06-15T14:30:00Z'
                  - id: b2c3d4e5-f6a7-8901-bcde-f12345678901
                    email: john@example.com
                    first_name: John
                    last_name: Doe
                    full_name: John Doe
                    is_active: true
                    permissions:
                      - ridealong_record
                    created_at: '2025-05-10T09:15:00Z'
                pagination:
                  count: 2
                  page: 1
                  page_size: 25
                  total_pages: 1
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  detail: Invalid API key.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  detail: Request was throttled. Expected available in 60 seconds.
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the user.
        email:
          type: string
          format: email
          description: The user's email address.
        first_name:
          type: string
          description: The user's first name.
        last_name:
          type: string
          description: The user's last name.
        full_name:
          type: string
          description: The user's full display name.
        is_active:
          type: boolean
          description: Whether the user is currently active.
        permissions:
          type: array
          items:
            type: string
            enum:
              - ridealong_admin
              - ridealong_coach
              - ridealong_record
              - call_center_ai_admin
              - call_center_ai_coach
              - call_center_ai_record
              - inside_sales_admin
              - inside_sales_rep
          description: Permission codes assigned to the user.
        created_at:
          type: string
          format: date-time
          description: When the user was created (ISO 8601).
      required:
        - id
        - email
        - first_name
        - last_name
        - full_name
        - is_active
        - permissions
        - created_at
    Pagination:
      type: object
      properties:
        count:
          type: integer
          description: Total number of results across all pages.
        page:
          type: integer
          description: Current page number.
        page_size:
          type: integer
          description: Number of results on this page.
        total_pages:
          type: integer
          description: Total number of pages.
      required:
        - count
        - page
        - page_size
        - total_pages
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            detail:
              type: string
              description: Human-readable error message.
          required:
            - detail
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your API key, prefixed with `cf_live_`.

````