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

# List workspaces

> ⚠️ **ALPHA ENDPOINT** - This endpoint is in alpha and subject to breaking changes. Use with caution in production environments.

Get the list of accessible workspaces for the authenticated user. Returns workspaces where the user is set as member (through any group: private, company, or custom). Please use instance or company level endpoints to access the workspaces as admin.

**Filtering:** All users see only workspaces where they are members. Admin users should use `/api/v3/instance/workspaces` or `/api/v3/company/workspaces` for administrative access.

Supported query filters: `workspace_type`, `document_upload_method`, `datasource_type` (`googledrive`, `sharepoint`, `servicenow`, `webscrapper`), `name` (case-insensitive contains), `group_id`, `group_name`, `user_role`.

**API keys:** `scoped_api_keys` lists your own non-revoked keys that can access the workspace. Each entry has a `scope_type`: `workspace` for keys explicitly scoped to it (listed first, with their per-workspace role), or `global` for keys with no scope rows that implicitly reach every workspace (their `role` mirrors your own role on the workspace).

Results ordered by creation date (newest first), paginated with 20 elements per page by default.



## OpenAPI

````yaml /api-reference/api-console.yaml get /api/v3/workspaces
openapi: 3.1.0
info:
  title: LightOn API
  version: 3.12.0 (v1)
  description: >-
    LightOn gives you an API to search, parse, and ingest documents at scale.
    Build knowledge-retrieval pipelines without managing vector databases or OCR
    models.
servers:
  - url: https://api.lighton.ai
security: []
tags:
  - name: Ask
    description: >-
      Retrieval-augmented generation: search your indexed corpus and generate an
      LLM answer grounded in the retrieved passages. Supports streaming (SSE)
      and synchronous modes.
  - name: Search
    description: >-
      Hybrid vector + text retrieval over your indexed corpus. Returns ranked
      passages with provenance (file, page range, workspace). Optional reranking
      and vision mode.
  - name: Files
    description: Upload, list, fetch, and delete documents indexed in your workspaces.
  - name: Facets
    description: >-
      Organise documents with hierarchical content types and custom attributes
      per file. Start from starter templates or build your own classification
      schema from scratch.
  - name: Tags
    description: >-
      Manage flat, company-wide labels used to scope search and group content
      across workspaces.
  - name: Workspaces
    description: >-
      Create and manage workspaces — the access-controlled containers your
      documents live in.
  - name: Parse
    description: >-
      Convert documents into structured Markdown — PDFs, images, Office files,
      and HTML. Synchronous endpoint capped at 20 MB / 15 pages.
  - name: Extract
    description: >-
      Pull typed fields out of documents using a JSON Schema you provide. Sync
      mode for small documents (≤20 MB / 15 pages); async mode for larger jobs
      (≤100 MB / 1000 pages) with polling on a job ID.
  - name: API Keys
    description: >-
      Provision and revoke API keys used to authenticate against the Console
      API.
  - name: Budget
    description: >-
      Manage your organization's monthly spend budget and alert thresholds. Set
      a hard cap that blocks API requests when reached, and configure email
      notifications at custom spend percentages.
paths:
  /api/v3/workspaces:
    get:
      tags:
        - Workspaces
      summary: List workspaces
      description: >-
        ⚠️ **ALPHA ENDPOINT** - This endpoint is in alpha and subject to
        breaking changes. Use with caution in production environments.


        Get the list of accessible workspaces for the authenticated user.
        Returns workspaces where the user is set as member (through any group:
        private, company, or custom). Please use instance or company level
        endpoints to access the workspaces as admin.


        **Filtering:** All users see only workspaces where they are members.
        Admin users should use `/api/v3/instance/workspaces` or
        `/api/v3/company/workspaces` for administrative access.


        Supported query filters: `workspace_type`, `document_upload_method`,
        `datasource_type` (`googledrive`, `sharepoint`, `servicenow`,
        `webscrapper`), `name` (case-insensitive contains), `group_id`,
        `group_name`, `user_role`.


        **API keys:** `scoped_api_keys` lists your own non-revoked keys that can
        access the workspace. Each entry has a `scope_type`: `workspace` for
        keys explicitly scoped to it (listed first, with their per-workspace
        role), or `global` for keys with no scope rows that implicitly reach
        every workspace (their `role` mirrors your own role on the workspace).


        Results ordered by creation date (newest first), paginated with 20
        elements per page by default.
      operationId: api_v3_workspaces_list
      parameters:
        - in: query
          name: datasource_type
          schema:
            type: string
            enum:
              - googledrive
              - servicenow
              - sharepoint
              - webscrapper
          description: |-
            The type of data source.

            * `servicenow` - ServiceNow
            * `googledrive` - Google Drive
            * `sharepoint` - SharePoint
            * `webscrapper` - WebScrapper
        - in: query
          name: document_upload_method
          schema:
            type: string
            enum:
              - manual
              - synced
          description: >-
            Method for adding documents to this workspace: manual uploads or
            synced from datasources


            * `manual` - Manual

            * `synced` - Synced
        - in: query
          name: group_id
          schema:
            type: integer
        - in: query
          name: group_name
          schema:
            type: string
        - in: query
          name: name
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - in: query
          name: user_role
          schema:
            type: string
            enum:
              - editor
              - owner
              - viewer
          description: |-
            * `owner` - Owner
            * `editor` - Editor
            * `viewer` - Viewer
        - in: query
          name: workspace_type
          schema:
            type: string
            enum:
              - personal
              - public
              - shared
          description: |-
            * `shared` - Shared
            * `personal` - Personal
            * `public` - Public
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedStandardWorkspaceV3ListResponseList
          description: List of workspaces where the user is a member
        '400':
          description: >-
            Bad Request - Invalid query parameters (unsupported parameter,
            invalid enum values, etc.)
        '401':
          description: Unauthenticated - Missing or invalid API key/session cookie
      security:
        - bearerAuth: []
components:
  schemas:
    PaginatedStandardWorkspaceV3ListResponseList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/StandardWorkspaceV3ListResponse'
    StandardWorkspaceV3ListResponse:
      type: object
      description: V3 Response serializer for user-level workspaces endpoint.
      properties:
        id:
          type: integer
        name:
          type: string
        workspace_type:
          type: string
        document_upload_method:
          type: string
        description:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        files_count:
          type: integer
        user_role:
          readOnly: true
          oneOf:
            - $ref: '#/components/schemas/UserRoleEnum'
            - $ref: '#/components/schemas/BlankEnum'
        sync:
          oneOf:
            - $ref: '#/components/schemas/WorkspaceSync'
            - type: 'null'
          readOnly: true
        scoped_api_keys:
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceScopedAPIKey'
          readOnly: true
      required:
        - created_at
        - description
        - document_upload_method
        - files_count
        - id
        - name
        - scoped_api_keys
        - sync
        - updated_at
        - user_role
        - workspace_type
    UserRoleEnum:
      enum:
        - owner
        - editor
        - viewer
      type: string
      description: |-
        * `owner` - owner
        * `editor` - editor
        * `viewer` - viewer
        * `` - 
    BlankEnum:
      enum:
        - ''
    WorkspaceSync:
      type: object
      properties:
        datasource_type:
          type: string
        source_name:
          type: string
        last_status:
          type: string
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
        failed_files_count:
          type: integer
        next_import_date:
          type:
            - string
            - 'null'
          format: date-time
        editable:
          type: boolean
        name:
          type: string
        instance_url:
          type:
            - string
            - 'null'
        tenant_id:
          type: string
        site_name:
          type: string
        client_id:
          type: string
        filter_criteria: {}
      required:
        - client_id
        - datasource_type
        - editable
        - failed_files_count
        - filter_criteria
        - instance_url
        - last_status
        - name
        - next_import_date
        - site_name
        - source_name
        - tenant_id
        - updated_at
    WorkspaceScopedAPIKey:
      type: object
      description: >-
        An API key that can access a single workspace, seen from the workspace
        side.


        Covers both keys explicitly scoped to the workspace
        (`scope_type="workspace"`,

        each carrying its per-workspace role) and the requesting user's
        globally-scoped

        keys (`scope_type="global"`), which implicitly reach every workspace in
        the

        company with the user's own role here. Reads flat dicts built by

        `WorkspaceScopedAPIKeysMixin`, which lists explicitly-scoped keys first.
      properties:
        id:
          type: string
        name:
          type: string
        prefix:
          type: string
        role:
          type: string
        created_at:
          type: string
          format: date-time
        created_by:
          type: string
        scope_type:
          $ref: '#/components/schemas/ScopeTypeEnum'
      required:
        - created_at
        - created_by
        - id
        - name
        - prefix
        - role
        - scope_type
    ScopeTypeEnum:
      enum:
        - workspace
        - global
      type: string
      description: |-
        * `workspace` - workspace
        * `global` - global
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your auth token.

````