# Quivr FastAPI API

> Quivr FastAPI API on Apizie: 53 endpoints (Retrieve Public Brains, Update Existing Brain Secrets, Get Question Context For Brain, Healthz, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/open-data:quivr/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:quivr`
- Category: Open Data
- Status: byok
- Source: https://quivr.app
- Page: https://apizie.tech/api/open-data/quivr
- OpenAPI: https://apizie.tech/api/open-data/quivr/openapi.json

Open-source RAG Framework

## Endpoints

### Retrieve Public Brains
`GET https://apizie.tech/v1/open-data:quivr/brain-get-all-public` (byok)

### Update Existing Brain Secrets
`POST https://apizie.tech/v1/open-data:quivr/brain-update-secrets-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| body | object | yes | JSON request body |

### Get Question Context For Brain
`POST https://apizie.tech/v1/open-data:quivr/brain-get-question-context` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| body | object | yes | JSON request body |

### Healthz
`GET https://apizie.tech/v1/open-data:quivr/health-check-status` (byok)

### Get Chats
`GET https://apizie.tech/v1/open-data:quivr/chat-get-all-chats` (byok)

### Create Chat Handler
`POST https://apizie.tech/v1/open-data:quivr/chat-create-handler` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Delete Chat
`POST https://apizie.tech/v1/open-data:quivr/chat-delete-chat-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |

### Update Chat Metadata Handler
`POST https://apizie.tech/v1/open-data:quivr/chat-update-metadata-handler` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |
| body | object | yes | JSON request body |

### Update Chat Message
`POST https://apizie.tech/v1/open-data:quivr/chat-update-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |
| message_id | string | yes |  |
| body | object | yes | JSON request body |

### Create Question Handler
`POST https://apizie.tech/v1/open-data:quivr/chat-handle-question` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |
| brain_id | string | no |  |
| body | object | yes | JSON request body |

### Create Stream Question Handler
`POST https://apizie.tech/v1/open-data:quivr/chat-create-stream-question-handler` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |
| brain_id | string | no |  |
| body | object | yes | JSON request body |

### Get Chat History Handler
`GET https://apizie.tech/v1/open-data:quivr/chat-get-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |

### Add Question And Answer Handler
`POST https://apizie.tech/v1/open-data:quivr/chat-add-question-and-answer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |
| body | object | yes | JSON request body |

### Healthz
`GET https://apizie.tech/v1/open-data:quivr/health-check-status-2` (byok)

### Crawl Endpoint
`POST https://apizie.tech/v1/open-data:quivr/crawl-website-data-processor` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes | The ID of the brain |
| chat_id | string | no | The ID of the chat |
| body | object | yes | JSON request body |

### List Assistants
`GET https://apizie.tech/v1/open-data:quivr/assistant-get-all-knowledge` (byok)

### Process Assistant
`POST https://apizie.tech/v1/open-data:quivr/assistant-process-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Get User Onboarding Handler
`GET https://apizie.tech/v1/open-data:quivr/onboarding-get-user-info` (byok)

### Update User Onboarding Handler
`POST https://apizie.tech/v1/open-data:quivr/onboarding-update-user-onboarding` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Root
`GET https://apizie.tech/v1/open-data:quivr/root-status-check` (byok)

### Healthz
`GET https://apizie.tech/v1/open-data:quivr/health-check-status-3` (byok)

### Get Brains Usages
`GET https://apizie.tech/v1/open-data:quivr/analytics-get-user-brain-usages` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | no |  |
| graph_range | integer | no |  |

### Healthz
`GET https://apizie.tech/v1/open-data:quivr/health-check-status-4` (byok)

### Upload File
`POST https://apizie.tech/v1/open-data:quivr/upload-file-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes | The ID of the brain |
| chat_id | string | no | The ID of the chat |
| body | object | yes | Form fields as a JSON object |

### Get User Endpoint
`GET https://apizie.tech/v1/open-data:quivr/user-get-user-information` (byok)

### Get User Identity Route
`GET https://apizie.tech/v1/open-data:quivr/user-get-identity-route` (byok)

### Update User Identity Route
`POST https://apizie.tech/v1/open-data:quivr/user-update-identity-route` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create Api Key
`POST https://apizie.tech/v1/open-data:quivr/api-key-create-new-key` (byok)

### Delete Api Key
`POST https://apizie.tech/v1/open-data:quivr/api-key-delete-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key_id | string | yes |  |

### Get Api Keys
`GET https://apizie.tech/v1/open-data:quivr/api-key-get-list` (byok)

### Get User Invitation
`GET https://apizie.tech/v1/open-data:quivr/brain-subscription-get-user-invitation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Invite Users To Brain
`POST https://apizie.tech/v1/open-data:quivr/brain-subscription-invite-users-to-brain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| origin | string | no |  |
| body | object | yes | JSON request body |

### Update Brain Subscription
`POST https://apizie.tech/v1/open-data:quivr/brain-update-subscription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| body | object | yes | JSON request body |

### Remove User Subscription
`POST https://apizie.tech/v1/open-data:quivr/brain-remove-user-subscription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Get Users With Brain Access
`GET https://apizie.tech/v1/open-data:quivr/brain-get-users` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Accept Invitation
`POST https://apizie.tech/v1/open-data:quivr/brain-accept-invitation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Decline Invitation
`POST https://apizie.tech/v1/open-data:quivr/brain-decline-invitation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Subscribe To Brain Handler
`POST https://apizie.tech/v1/open-data:quivr/subscription-brain-handler` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| body | object | no | JSON request body |

### Unsubscribe From Brain Handler
`POST https://apizie.tech/v1/open-data:quivr/subscription-unregister-handler` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Get Prompts
`GET https://apizie.tech/v1/open-data:quivr/prompt-get-all-public-prompts` (byok)

### Create Prompt Route
`POST https://apizie.tech/v1/open-data:quivr/prompt-create-prompt-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Prompt
`GET https://apizie.tech/v1/open-data:quivr/prompt-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt_id | string | yes |  |

### Update Prompt
`POST https://apizie.tech/v1/open-data:quivr/prompt-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt_id | string | yes |  |
| body | object | yes | JSON request body |

### Get Notifications
`GET https://apizie.tech/v1/open-data:quivr/notification-get-by-chat-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chat_id | string | yes |  |

### List Knowledge In Brain Endpoint
`GET https://apizie.tech/v1/open-data:quivr/knowledge-get-all-knowledge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes | The ID of the brain |

### Delete Endpoint
`POST https://apizie.tech/v1/open-data:quivr/knowledge-delete-specific-brain-knowledge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| knowledge_id | string | yes |  |
| brain_id | string | yes |  |

### Generate Signed Url Endpoint
`GET https://apizie.tech/v1/open-data:quivr/knowledge-generate-signed-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| knowledge_id | string | yes |  |

### Post Contact
`POST https://apizie.tech/v1/open-data:quivr/contact-create-new-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Integration Brain Description
`GET https://apizie.tech/v1/open-data:quivr/brain-get-description` (byok)

### Retrieve All Brains For User
`GET https://apizie.tech/v1/open-data:quivr/brain-get-all-for-user` (byok)

### Create New Brain
`POST https://apizie.tech/v1/open-data:quivr/brain-create-new-brain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve Brain By Id
`GET https://apizie.tech/v1/open-data:quivr/brain-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |

### Update Existing Brain
`POST https://apizie.tech/v1/open-data:quivr/brain-update-configuration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| brain_id | string | yes |  |
| body | object | yes | JSON request body |

## Example
```
curl "https://apizie.tech/v1/open-data:quivr/brain-get-all-public" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Quivr FastAPI API?
Create a free Apizie key, then send GET https://apizie.tech/v1/open-data:quivr/brain-get-all-public with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Quivr FastAPI API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Quivr FastAPI itself also needs your own key from api.quivr.app.

### Can AI agents use the Quivr FastAPI API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:quivr.

### What is the status of the Quivr FastAPI API?
Needs your own provider key (bring your own key)
