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

# Create knowledge base

> Creates a knowledge base and uploads CSV/PDF files.



## OpenAPI

````yaml /api-reference/openapi.json post /knowledge-base/create
openapi: 3.1.0
info:
  title: SuperU API
  description: >-
    Comprehensive API reference for SuperU voice agents, calls, tools, contacts,
    audiences, and knowledge bases.
  version: 1.0.0
servers:
  - url: https://voip-middlware.superu.ai
    description: Production
security:
  - superUApiKey: []
tags:
  - name: Calls
    description: Create and analyze calls.
  - name: Agents
    description: Create, list, import, update, and delete agents.
  - name: Agent Versions
    description: Manage versions for existing agents.
  - name: Phone Numbers
    description: Fetch phone numbers available in your account.
  - name: Call Logs
    description: Retrieve call history with filters.
  - name: Tools
    description: Create and manage callable tools.
  - name: Folders
    description: Organize agents into folders.
  - name: Contacts
    description: Create and list contacts.
  - name: Audiences
    description: Create and manage audiences and contacts.
  - name: Knowledge Base
    description: Upload and manage knowledge bases.
  - name: Campaigns
    description: Create and manage outbound campaigns with automated workflows.
paths:
  /knowledge-base/create:
    post:
      tags:
        - Knowledge Base
      summary: Create knowledge base
      description: Creates a knowledge base and uploads CSV/PDF files.
      operationId: createKnowledgeBase
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - name
                - description
                - files
              properties:
                name:
                  type: string
                  description: Knowledge base name
                  example: FAQ
                description:
                  type: string
                  description: Knowledge base description
                  example: Frequently asked questions
                files:
                  type: array
                  description: Files to upload
                  items:
                    type: string
                    format: binary
            example:
              name: FAQ
              description: Frequently asked questions
              files:
                - '@/path/to/faq.pdf'
        description: Request body for Create knowledge base.
      responses:
        '200':
          description: Knowledge base created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
              example:
                status: success
                message: >-
                  Knowledge base created successfully. Knowledge base created
                  with embeddings. Processed 1 files into 39 chunks.
                data:
                  knowledge_base_id: 69f9ac509e0388ee380f73d1
                  kb_uuid: a7aba494-c043-455c-8429-3ae7e58f957e
                  name: FAQ
                  description: Frequently asked questions
                  total_files: 1
                  files:
                    - original_filename: faq.pdf
                      s3_key: >-
                        knowledge-base/686e8db4-15df-435e-84fe-b5f6334c2015-faq.pdf
                      file_url: >-
                        https://pluto-superu.s3.amazonaws.com/knowledge-base/686e8db4-15df-435e-84fe-b5f6334c2015-5_letters.csv
                      file_size: 27500
                      uploaded_at:
                        $date: '2026-05-05T08:37:36.632Z'
                      file_content:
                        $binary:
                          base64: ...
                          subType: '00'
                  embedding_status: completed
                  created_at: '2026-05-05T08:37:36.632484'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request POST \\
              --url https://voip-middlware.superu.ai/knowledge-base/create \\
              --header 'superU-Api-Key: YOUR_SUPERU_API_KEY' \\
              --form 'name=FAQ' \\
              --form 'description=Frequently asked questions' \\
              --form 'files=@/path/to/file.pdf'
        - lang: python
          label: Python
          source: |-
            from superu import SuperU

            client = SuperU("YOUR_SUPERU_API_KEY")
            with open("sample.pdf", "rb") as f:
                response = client.knowledge_base.create(
                    name="FAQ",
                    description="Frequently asked questions",
                    files=[f]
                )
            print(response)
components:
  schemas:
    GenericResponse:
      type: object
      properties:
        status:
          type: string
          description: Indicates if the request was successful.
          example: success
        message:
          type: string
          description: A descriptive message about the result of the request.
          example: Request completed successfully
        data:
          type: object
          additionalProperties: true
          description: The payload of the response, if any.
      additionalProperties: true
      description: A generic response schema for successful API calls.
    ErrorResponse:
      type: object
      required:
        - message
      properties:
        status:
          type: string
          example: error
          description: Status value.
        message:
          type: string
          example: Invalid request payload
          description: Message value.
        error:
          type: string
          example: Bad Request
          description: Error value.
        code:
          type: string
          example: BAD_REQUEST
          description: Code value.
      additionalProperties: true
      description: Error Response schema.
  responses:
    BadRequest:
      description: Bad Request - invalid parameters or payload.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            code: BAD_REQUEST
            message: Request validation failed.
    Unauthorized:
      description: Unauthorized - missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            code: UNAUTHORIZED
            message: Invalid or missing superU-Api-Key.
    NotFound:
      description: Not Found - requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            code: NOT_FOUND
            message: Resource not found.
    InternalServerError:
      description: Internal Server Error - unexpected backend error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            code: INTERNAL_SERVER_ERROR
            message: An unexpected server error occurred.
    NotImplemented:
      description: >-
        Not Implemented - this action is not available in the current
        deployment.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: error
            code: NOT_IMPLEMENTED
            message: This endpoint is not implemented for your workspace.
  securitySchemes:
    superUApiKey:
      type: apiKey
      in: header
      name: superU-Api-Key
      description: Your SuperU API key.

````