---
title: "Delete a knowledge base"
method: DELETE
path: "/api/v1/knowledge/{id}"
tags: ["knowledge"]
---

# Delete a knowledge base

`DELETE /api/v1/knowledge/{id}`

## Request

- Base URL: `https://www.callagent.pro`
- URL: `https://www.callagent.pro/api/v1/knowledge/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` integer, required

## Response `200`

Deleted. Agents that pointed at it fall back to having no knowledge base.

- object
  - `ok` boolean
  - `knowledge` KnowledgeItem[]
    - `id` integer, required
    - `src` 'text' | 'pdf' | 'url', required: Source type
    - `ic` string, required: Emoji for the source type
    - `t` string, required: Title
    - `meta` string, required: e.g. PDF · 128 KB — or ends in 'no text extracted', meaning nothing usable was parsed out and that base will answer nothing
    - `agents` string, required: Comma-joined agent names, or the literal 'Not assigned'
    - `upd` string, required: Humanized last-update time
  - `meta` Meta: Reference data for building an agent — every id an Agent's primary_language_id/default_voice_id/llm_server_id/asr_model_id/ knowledge_base_id must be one of. There is no fixed enum for these: call GET /meta first and use the ids it returns, since voices, languages and models are added over time. NOTE the camelCase keys on three of the six lists — they are named for the dashboard store that consumes them, and renaming them would break it.
    - `languages` object[], required
      - `id` integer
      - `code` string: ISO 639-1, e.g. de
      - `label` string: Flag emoji + English name
    - `voices` object[], required
      - `id` integer
      - `name` string
      - `label` string: Gender emoji + name, for menus
      - `gender` 'male' | 'female' | 'neutral'
      - `language_id` integer: The voice's own primary language
      - `lang_code` string: 'multi' for a voice not tied to one language
      - `supported_languages` string[]: ISO codes this voice can actually speak. A multilingual AGENT still only speaks what its VOICE supports — pick the voice for the languages you need, not just the language id.
    - `knowledgeBases` object[], required
      - `id` integer
      - `label` string
    - `llmServers` object[], required
      - `id` integer
      - `label` string
    - `asrModels` object[], required
      - `id` integer
      - `label` string
      - `language_id` integer, nullable: null means multilingual
    - `extensions` object[], required: SIP extensions a number can be routed to (route_mode=extension)
      - `ext` string
      - `label` string
      - `online` boolean: Registered right now

## Other responses

- `401`: Missing or invalid Bearer key
- `404`: No matching record on this account
- `429`: Too many requests — see the endpoint's rate limit tier (agent-api 120/min, agent-api-heavy 6/min, agent-api-secrets 10/min)

---

[API](https://skmtc.dev/callagent/apis/callagent-pro-agent-api.md) · [All operations](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/revisions/38072cf8a24b?raw)
