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

# Upload Ontology

> Upload a single ontology file for later use in cognify operations.

## Request Parameters
- **ontology_key** (str): User-defined identifier for the ontology.
- **ontology_file** (UploadFile): Single OWL format ontology file
- **description** (Optional[str]): Optional description for the ontology.

## Response
Returns metadata about the uploaded ontology including key, filename, size, and upload timestamp.

## Error Codes
- **400 Bad Request**: Invalid file format, duplicate key, multiple files uploaded
- **500 Internal Server Error**: File system or processing errors



## OpenAPI

````yaml /cognee_openapi_spec.json post /api/v1/ontologies
openapi: 3.1.0
info:
  title: Cognee API
  description: Cognee API with Bearer token and Cookie auth
  version: 1.0.0
servers:
  - url: https://api.cognee.ai
    description: Production server (full functionality)
  - url: http://localhost:8000
    description: Local development server (requires local setup)
security:
  - BearerAuth: []
  - ApiKeyAuth: []
tags:
  - name: activity
    description: ''
  - name: add
    description: Data ingestion endpoints for adding text, files, and structured data.
  - name: auth
    description: >-
      Authentication endpoints for user registration, login, and token
      management.
  - name: checks
    description: ''
  - name: cognify
    description: >-
      Knowledge processing endpoints to transform raw data into knowledge
      graphs.
  - name: configuration
    description: ''
  - name: datasets
    description: Dataset management endpoints for listing, creating, and deleting datasets.
  - name: delete
    description: Data deletion endpoints (deprecated — use datasets endpoints instead).
  - name: forget
    description: ''
  - name: health
    description: ''
  - name: improve
    description: ''
  - name: llm
    description: ''
  - name: memify
    description: ''
  - name: notebooks
    description: ''
  - name: ontologies
    description: ''
  - name: permissions
    description: Permission management for multi-user access control.
  - name: recall
    description: ''
  - name: remember
    description: ''
  - name: responses
    description: Response generation endpoints using the knowledge graph.
  - name: search
    description: Search endpoints for querying the knowledge graph.
  - name: sessions
    description: ''
  - name: settings
    description: Configuration endpoints for managing Cognee settings.
  - name: sync
    description: ''
  - name: update
    description: ''
  - name: users
    description: User management endpoints.
  - name: visualize
    description: Graph visualization endpoints.
paths:
  /api/v1/ontologies:
    post:
      tags:
        - ontologies
      summary: Upload Ontology
      description: >-
        Upload a single ontology file for later use in cognify operations.


        ## Request Parameters

        - **ontology_key** (str): User-defined identifier for the ontology.

        - **ontology_file** (UploadFile): Single OWL format ontology file

        - **description** (Optional[str]): Optional description for the
        ontology.


        ## Response

        Returns metadata about the uploaded ontology including key, filename,
        size, and upload timestamp.


        ## Error Codes

        - **400 Bad Request**: Invalid file format, duplicate key, multiple
        files uploaded

        - **500 Internal Server Error**: File system or processing errors
      operationId: upload_ontology_api_v1_ontologies_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_ontology_api_v1_ontologies_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Upload Ontology Api V1 Ontologies Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    Body_upload_ontology_api_v1_ontologies_post:
      properties:
        ontology_key:
          type: string
          title: Ontology Key
        ontology_file:
          type: string
          contentMediaType: application/octet-stream
          title: Ontology File
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
      type: object
      required:
        - ontology_key
        - ontology_file
      title: Body_upload_ontology_api_v1_ontologies_post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````