Skip to main content
POST
/
kb
/
manage
curl --request POST \ --url https://asteragents.com/api/kb/manage \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data ' { "name": "Product Documentation", "embeddingModel": "openai:text-embedding-3-small" } '
{ "success": true, "knowledgeBase": { "id": 1, "name": "Product Documentation", "description": null, "embeddingModel": "openai:text-embedding-3-small", "embeddingDimensions": 1536, "extractionModel": null, "extractionSchema": null, "source": null, "trigger": null, "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z", "userId": "user_2ABC123DEF", "fileCount": 0, "status": "empty" } }

Authorizations

Authorization
string
header
required

JWT token from Clerk authentication.

Must be from a user with org:admin role.

Body

application/json
name
string
required

Name of the knowledge base (must be unique within the org)

Example:

"Product Documentation"

embeddingModel
string
required

Embedding model identifier (e.g., openai:text-embedding-3-small)

Example:

"openai:text-embedding-3-small"

description
string | null

Optional description

Example:

"All product docs and user guides"

extractionModel
string | null

Optional model for structured data extraction from files

extractionSchema
object

JSON schema defining what structured data to extract from files

source
string | null

Integration source identifier. When set, the KB becomes integration-managed — manual file upload/deletion is disabled in the UI, but API access remains unrestricted.

Example:

"salesforce"

trigger
object

Trigger configuration that automatically runs an agent when new files are added. Set enabled: true with an agentId and prompt to activate.

Response

Knowledge base created successfully

success
boolean
required
knowledgeBase
object
required