Skip to main content
GET
/
v1
/
agents
/
{agent_id}
/
knowledge-bases
/
versions
List Knowledge Base Versions
curl --request GET \
  --url https://api.getbluejay.ai/v1/agents/{agent_id}/knowledge-bases/versions \
  --header 'X-API-Key: <x-api-key>'
[
  {
    "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.

## List Knowledge Base Versions — GET /v1/agents/{agent_id}/knowledge-bases/versions

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

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

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

### Example
**Simple GET:**
```python
import requests

def list_knowledge_base_versions(agent_id: int, 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.get(url, headers=headers)
    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.
Lists knowledge base versions with optional filters (label, version).

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

agent_id
integer
required

Query Parameters

label
string | null
version
integer | null
limit
integer
default:50

Response

Successful Response

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