Skip to main content
POST
/
v1
/
agents
/
{agent_id}
/
knowledge-bases
/
versions
Create Knowledge Base Version Agent Scoped
curl --request POST \
  --url https://api.getbluejay.ai/v1/agents/{agent_id}/knowledge-bases/versions \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "kb_text": "<string>",
  "commit_message": "<string>",
  "labels": [
    "<string>"
  ],
  "metadata": {}
}
'
{
  "kb_text": "<string>",
  "version": 123,
  "agent_id": 123,
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "commit_message": "<string>",
  "labels": [
    "<string>"
  ],
  "metadata": {}
}
Integration Prompt for AI Agents
# Bluejay — Testing & Monitoring Platform for Conversational AI Agents

You are a senior backend engineer integrating the Bluejay API. Think step-by-step: first understand the endpoint, then plan the integration, then implement with minimal changes.

## Create Knowledge Base Version — POST /v1/agents/{agent_id}/knowledge-bases/versions

**Endpoint:** POST `https://api.getbluejay.ai/v1/agents/{agent_id}/knowledge-bases/versions`
**Auth:** `X-API-Key` header
**Content-Type:** application/json

### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| agent_id | integer |  |
| X-API-Key | string | API key required to authenticate requests. |
| kb_text | string |  |

Review the full parameter list at https://docs.getbluejay.ai/api-reference/endpoint/create-knowledge-base-version and include any optional parameters (e.g., `commit_message`, `labels`, `metadata`) that serve your integration's use case and align with Bluejay's testing and monitoring capabilities.

### Request Body (required fields)
```json
{
  "kb_text": "string"
}
```

Refer to the full schema at https://docs.getbluejay.ai/api-reference/endpoint/create-knowledge-base-version. Include optional fields that serve the goal of setting up for testing and monitoring on Bluejay.

### Example
**POST with body:**
```python
import requests

def create_knowledge_base_version(agent_id: int, payload: dict, api_key: str) -> dict:
    url = f"https://api.getbluejay.ai/v1/agents/{agent_id}/knowledge-bases/versions"
    headers = {"X-API-Key": api_key}
    response = requests.post(url, headers=headers, json=payload)
    response.raise_for_status()
    return response.json()
```

### Constraints
- Minimal changes — only add/change files needed for this integration.
- Match existing codebase patterns (naming, file structure, error handling).
- Include error handling for 422: Validation Error.

### Integration Checklist
Before writing code, verify:
1. Which module/service owns this API domain in the codebase?
2. What HTTP client and error-handling patterns does the project use?
3. Are there existing types/interfaces to extend?

Then implement the integration, export it, and confirm it compiles/passes lint.
Creates a new knowledge base version under /agents/{agent_id}/knowledge-bases/versions.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

agent_id
integer
required

Body

application/json
kb_text
string
required
commit_message
string | null
labels
string[] | null
metadata
Metadata · object

Response

Successful Response

response model for knowledge base without created_at.

kb_text
string
required

the knowledge base content

version
integer
required

the version number of the knowledge base

agent_id
integer
required

id of the agent that owns this knowledge base

id
string<uuid> | null

the id of the knowledge base

commit_message
string | null
labels
string[] | null

labels associated with the knowledge base

metadata
Metadata · object

arbitrary JSON metadata