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

# List All Users

> List all end users across all developer's projects with search and filtering

Retrieve a paginated list of all end users across all projects belonging to the authenticated developer. Supports search and filtering capabilities.

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication
</ParamField>

### Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number for pagination (minimum: 1)
</ParamField>

<ParamField query="page_size" type="integer" default="50">
  Number of users per page (minimum: 1, maximum: 100)
</ParamField>

<ParamField query="search" type="string">
  Search term to filter users by email or name
</ParamField>

<ParamField query="is_active" type="boolean">
  Filter by active status
</ParamField>

<ParamField query="project_id" type="string">
  Filter users by specific project (UUID format)
</ParamField>

### Response

<ResponseField name="users" type="array" required>
  Array of user objects

  <Expandable title="User Object">
    <ResponseField name="id" type="string" required>
      User unique identifier (UUID)
    </ResponseField>

    <ResponseField name="email" type="string" required>
      User email address
    </ResponseField>

    <ResponseField name="full_name" type="string">
      User's full name (nullable)
    </ResponseField>

    <ResponseField name="is_active" type="boolean" required>
      Whether the user is active
    </ResponseField>

    <ResponseField name="created_at" type="string" required>
      User account creation timestamp (ISO 8601)
    </ResponseField>

    <ResponseField name="joined_at" type="string" required>
      Timestamp when user joined the project (ISO 8601)
    </ResponseField>

    <ResponseField name="project_id" type="string" required>
      ID of the project the user belongs to (UUID)
    </ResponseField>

    <ResponseField name="project_name" type="string" required>
      Name of the project the user belongs to
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer" required>
  Total number of users matching the query
</ResponseField>

<ResponseField name="page" type="integer" required>
  Current page number
</ResponseField>

<ResponseField name="page_size" type="integer" required>
  Number of users per page
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.devkit4ai.com/api/v1/projects/users" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```

  ```bash cURL with pagination theme={null}
  curl -X GET "https://api.devkit4ai.com/api/v1/projects/users?page=1&page_size=20" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```

  ```bash cURL with filters theme={null}
  curl -X GET "https://api.devkit4ai.com/api/v1/projects/users?search=john&is_active=true" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "users": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "email": "john@example.com",
        "full_name": "John Doe",
        "is_active": true,
        "created_at": "2024-01-15T10:30:00Z",
        "joined_at": "2024-01-15T10:30:00Z",
        "project_id": "123e4567-e89b-12d3-a456-426614174000",
        "project_name": "My AI App"
      },
      {
        "id": "660e8400-e29b-41d4-a716-446655440001",
        "email": "jane@example.com",
        "full_name": "Jane Smith",
        "is_active": true,
        "created_at": "2024-01-16T14:20:00Z",
        "joined_at": "2024-01-16T14:20:00Z",
        "project_id": "223e4567-e89b-12d3-a456-426614174001",
        "project_name": "Another Project"
      }
    ],
    "total": 150,
    "page": 1,
    "page_size": 50
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /api/v1/projects/users
openapi: 3.1.0
info:
  title: Dev Kit for AI API
  description: 'API for Dev Kit for AI: Developer Toolkit for AI-Powered Web Applications'
  version: 1.6.1
servers:
  - url: https://api.devkit4ai.com
    description: Dev Kit for AI Production Server
  - url: https://api.vibecoding.ad
    description: Vibe Coding Production Server
security: []
paths:
  /api/v1/projects/users:
    get:
      tags:
        - Project Management
      summary: List All Users
      description: >-
        List all end users across all developer's projects with search and
        filtering
      operationId: list_all_users_api_v1_projects_users_get
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
            title: Page
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 50
            title: Page Size
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Search
        - name: is_active
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Is Active
        - name: project_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperUsersListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    DeveloperUsersListResponse:
      properties:
        users:
          items:
            $ref: '#/components/schemas/DeveloperUserResponse'
          type: array
          title: Users
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        page_size:
          type: integer
          title: Page Size
      type: object
      required:
        - users
        - total
        - page
        - page_size
      title: DeveloperUsersListResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DeveloperUserResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        email:
          type: string
          title: Email
        full_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Full Name
        is_active:
          type: boolean
          title: Is Active
        created_at:
          type: string
          format: date-time
          title: Created At
        joined_at:
          type: string
          format: date-time
          title: Joined At
        project_id:
          type: string
          format: uuid
          title: Project Id
        project_name:
          type: string
          title: Project Name
      type: object
      required:
        - id
        - email
        - full_name
        - is_active
        - created_at
        - joined_at
        - project_id
        - project_name
      title: DeveloperUserResponse
    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
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: auth/login

````