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

# List Topics

> List and query topics with filtering and pagination. Use parent_topic=null to get root topics.



## OpenAPI

````yaml /api-reference/knowledge-agent/source-api.json get /topics/
openapi: 3.0.3
info:
  title: Arcturus Source API
  version: 1.0.0
  description: API for managing sources and topics
servers:
  - url: https://api-prod.voltai.ai/source/api/
    description: Production
security: []
tags:
  - name: Sources
    description: Source CRUD operations
  - name: Sources - Bulk Actions
    description: Bulk operations on sources
  - name: Topics
    description: Topic CRUD operations
  - name: Topics - Tree & Sources
    description: Topic hierarchy and source listings
  - name: Topics - Bulk Actions
    description: Bulk operations on topics
  - name: Sources - Bulk Ingest
    description: Bulk ingestion of sources
paths:
  /topics/:
    get:
      tags:
        - Topics
      summary: List Topics
      description: >-
        List and query topics with filtering and pagination. Use
        parent_topic=null to get root topics.
      operationId: topics_list
      parameters:
        - in: query
          name: is_published
          schema:
            type: boolean
          description: Filter by published status
        - in: query
          name: organization_name
          schema:
            type: string
          description: Organization name (required for multi-tenant API keys)
          required: true
        - in: query
          name: page
          schema:
            type: integer
            default: 1
          description: Page number
        - in: query
          name: page_size
          schema:
            type: integer
            default: 20
          description: Items per page
        - in: query
          name: parent_topic
          schema:
            type: string
          description: Filter by parent topic UUID (use 'null' for root topics)
        - in: query
          name: search
          schema:
            type: string
          description: Search by name
        - in: query
          name: topic_path
          schema:
            type: string
          description: >-
            Filter by exact root-to-leaf path using '/' separator (example:
            'Root/Child/Leaf')
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaginatedTopicResponse'
          description: ''
      security:
        - cookieAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    PaginatedTopicResponse:
      type: object
      description: Paginated topic list response schema.
      properties:
        page:
          type: integer
        page_size:
          type: integer
        total:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/TopicOverview'
      required:
        - page
        - page_size
        - results
        - total
    TopicOverview:
      type: object
      properties:
        name:
          type: string
          maxLength: 128
        uuid:
          type: string
          format: uuid
        parent_topic:
          type: string
          nullable: true
        is_published:
          type: boolean
      required:
        - name
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        API key for authentication. Get your API key from the organization
        settings.

````