# Create knowledge base

> Create a new knowledge base for an agent.

`POST https://api.zavu.dev/v1/senders/{senderId}/agent/knowledge-bases`

Create a new knowledge base for an agent.

## Parameters

- `senderId` (path, string, required)

## Body

- `name` (string, required)
- `description` (string)

## Responses

### 201

Knowledge base created.

- `knowledgeBase` (object, required)
  - `id` (string, required)
  - `agentId` (string, required)
  - `name` (string, required)
  - `description` (string, nullable)
  - `documentCount` (integer, required)
  - `totalChunks` (integer, required)
  - `createdAt` (string<date-time>, required)
  - `updatedAt` (string<date-time>, required)

### 400

Invalid request.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 401

Unauthorized.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 404

Agent not found.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

## Example

```bash
curl -X POST "https://api.zavu.dev/v1/senders/sender_abc123/agent/knowledge-bases" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Product FAQ",
  "description": "Frequently asked questions about our products"
}'
```

```typescript
import Zavudev from "@zavudev/sdk";

const zavu = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY });

const result = await zavu.senders.agent.knowledgeBases.create("sender_abc123", {
  name: "Product FAQ",
  description: "Frequently asked questions about our products",
});

console.log(result);
```
