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

# Create a Knowledge Base (Project-owned or ExternalUser-owned)

> Which kind gets created depends on the credential's asserted identity. providerId is REQUIRED here (unlike the Persona route, which can auto-resolve the caller's default Provider) — no equivalent "default Provider" concept exists for a Project or ExternalUser yet.




## OpenAPI

````yaml /openapi.json post /api/v1/developer/knowledge
openapi: 3.0.0
info:
  title: Persona.ai Developer Platform API
  version: 1.0.0
  description: >-
    REST + AG-UI API for integrating your product with Persona's agent
    infrastructure.


    Every endpoint here is a server-to-server call — see the Integration Guide
    for where in your own stack to call each one from, and how the same endpoint
    serves both Project-level and per-end-user requests via the
    `x-persona-external-user-id` header.
servers:
  - url: https://api.personaai.com
    description: Production
security: []
tags: []
paths:
  /api/v1/developer/knowledge:
    post:
      tags:
        - Developer
      summary: Create a Knowledge Base (Project-owned or ExternalUser-owned)
      description: >
        Which kind gets created depends on the credential's asserted identity.
        providerId is REQUIRED here (unlike the Persona route, which can
        auto-resolve the caller's default Provider) — no equivalent "default
        Provider" concept exists for a Project or ExternalUser yet.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - providerId
      responses:
        '201':
          description: Knowledge Base created
        '400':
          description: Validation error, or missing providerId
      security:
        - projectCredential: []
components:
  securitySchemes:
    projectCredential:
      type: http
      scheme: bearer
      bearerFormat: <keyId>.<secret>
      description: >-
        Developer Platform Project credential, minted via POST
        /api/v1/projects/{projectId}/credentials. Send as `Authorization: Bearer
        <keyId>.<secret>`. Optionally pair with the `x-persona-external-user-id`
        header to act on behalf of one of the Project's own external users. This
        credential is a server-side secret — see the Integration Guide.

````