> ## 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.

# Create Sources from ZIP

> Upload a ZIP file, ingest supported files, assign topics from ZIP
folder paths, and queue parse jobs.

In addition to standard source files (pdf, html, md, csv, etc.),
this endpoint also discovers structured JSON files for KBA and Forum
ingestion. Files whose name ends with `_kba.json` are ingested as
KBA sources, and files ending with `_forum.json` are ingested as
Forum sources. Other `.json` files are ignored.



## OpenAPI

````yaml /api-reference/knowledge-agent/source-api.json post /sources/bulk-ingest-zip/
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:
  /sources/bulk-ingest-zip/:
    post:
      tags:
        - Sources - Bulk Ingest
      summary: Create Sources from ZIP
      description: |-
        Upload a ZIP file, ingest supported files, assign topics from ZIP
        folder paths, and queue parse jobs.

        In addition to standard source files (pdf, html, md, csv, etc.),
        this endpoint also discovers structured JSON files for KBA and Forum
        ingestion. Files whose name ends with `_kba.json` are ingested as
        KBA sources, and files ending with `_forum.json` are ingested as
        Forum sources. Other `.json` files are ignored.
      operationId: sources_bulk_ingest_zip_create
      parameters:
        - in: query
          name: organization_name
          schema:
            type: string
          description: Organization name (required for multi-tenant API keys)
          required: true
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SourceZipBulkIngestRequestRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceS3FolderIngestAcceptedResponse'
          description: ZIP ingestion queued.
      security:
        - cookieAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    SourceZipBulkIngestRequestRequest:
      type: object
      description: Request schema for bulk source ingestion from a ZIP upload.
      properties:
        file:
          type: string
          format: binary
          description: ZIP file to upload and ingest.
        force_reupload_existing:
          type: boolean
          default: false
          description: When true, re-upload and re-parse even if source already exists.
        parent_topic_path:
          type: string
          description: >-
            Optional parent topic root-to-leaf path as a JSON-encoded array of
            strings (example: '["Manufacturers", "Acme"]'). This path is
            prefixed to each ZIP-derived file topic path.
      required:
        - file
    SourceS3FolderIngestAcceptedResponse:
      type: object
      description: Response returned when an S3 folder ingestion job is queued.
      properties:
        message:
          type: string
        job_id:
          type: string
          format: uuid
      required:
        - message
        - job_id
  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.

````