Create Knowledge Base

Beta
Create a new knowledge base.

Authentication

AuthorizationBearer

Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.

Headers

Speechify-VersionstringOptional

Request

This endpoint expects an object.
namestringRequired

Human-readable label.

project_idstringOptional

Optional workspace project to place this resource in (prefixed proj_... id). Omit for the implicit Default project. An unknown id returns 404 project_not_found.

descriptionstringOptional
Optional description.

Response headers

Speechify-Request-IdstringOptional
Unique identifier for this request, present on every response (2xx and non-2xx alike). If the caller sends a `Speechify-Request-Id` request header the server echoes it back (sanitized and length-capped) so one logical request can be traced end-to-end; otherwise the server generates a fresh value. Log it on every response and quote it in support requests - it is the stable handle that ties your observation to Speechify's server-side logs, and it matches the `request_id` field in the error envelope. The legacy alias `X-Request-ID` carries the same value and is still accepted on requests, until 2027-07-24. Prefer the un-prefixed name (RFC 6648).

Response

The created knowledge base.
idstringformat: "^kb_[0-9a-hjkmnp-tv-z]{26}$"

Prefixed wire identifier (kb_<26 char Crockford base32>).

namestring

Human-readable label for the knowledge base.

descriptionstring
Optional description.
document_countinteger
Number of ingested documents.
created_atdatetime
updated_atdatetime
injectionobjectOptional

The prompt budget in force for this knowledge base, present on the by-id read. auto_tokens is the automatic tier’s budget (0 when the tier is off): a knowledge base whose documents count at most that many tokens is placed in the prompt whole. pin_budget_tokens bounds the documents pinned with injection_mode: always, and pinned_tokens is what they count today.

project_idstring or nullOptionalformat: "^proj_[0-9a-hjkmnp-tv-z]{26}$"

Workspace project this resource lives in (prefixed external id). Null means the implicit Default project.

Errors

400
Bad Request Error
401
Unauthorized Error