> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Conare's API is at https://api.conare.ai. Authenticate with `Authorization: Bearer $CONARE_API_KEY`.
> The full OpenAPI spec is at https://api.conare.ai/openapi.yaml; each endpoint has a page under /api-reference, and appending .md to any page URL returns its Markdown.
> Embed with model conare-embed-1; send input_type "query" for search queries. Rerank with conare-rerank-1.
> Prefer the TypeScript SDK (`npm install conare`) or plain HTTP in examples.
> Install the Conare skill with `npx skills add https://docs.conare.ai`; search these docs over MCP at https://docs.conare.ai/mcp; the whole site is at https://docs.conare.ai/llms-full.txt.

# turbopuffer API

> Run your turbopuffer code and SDK on Conare by changing the base URL: the supported writes, queries and namespace calls, and the rate and size limits.

Conare serves turbopuffer's API at `https://api.conare.ai/tpuf`: keep your turbopuffer code and SDK, and point them at Conare with a Conare key.

```bash curl theme={null}
curl https://api.conare.ai/tpuf/v2/namespaces/products/query \
  -H "Authorization: Bearer $CONARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rank_by": ["vector", "ANN", [0.1, 0.2, 0.3, 0.4]], "top_k": 10}'
```

```python Python theme={null}
import os
import turbopuffer

tpuf = turbopuffer.Turbopuffer(
    api_key=os.environ["CONARE_API_KEY"],
    region="gcp-us-central1",  # any value: Conare ignores it
    base_url="https://api.conare.ai/tpuf/{region}",
)

ns = tpuf.namespace("products")
ns.write(
    upsert_rows=[{"id": 1, "vector": [0.1, 0.2, 0.3, 0.4], "title": "refunds"}],
    distance_metric="cosine_distance",
)
result = ns.query(rank_by=("vector", "ANN", [0.1, 0.2, 0.3, 0.4]), top_k=10)
```

```json Response theme={null}
{
  "billing": { "billable_logical_bytes_queried": 0, "billable_logical_bytes_returned": 0 },
  "performance": { "cache_hit_ratio": 1.0, "cache_temperature": "hot", "query_execution_ms": 0, "server_total_ms": 0 },
  "rows": [{ "$dist": 0.0, "id": 1 }]
}
```

You bring your own vectors, and these namespaces are separate from the rest of the API's.

## Supported

| Area | Supported |
| - | - |
| Writes | Upserts, patches, deletes, conditional writes, delete or patch by filter |
| Queries | Vector (ANN and exact), BM25 full-text, order by attribute, filters, `Count` aggregation, up to 16 queries in one call |
| Namespaces | List, schema, metadata, cache warming, delete, copy and branch |
| Distance | `cosine_distance`, `euclidean_squared` |
| `top_k` | Up to 10,000 |

Anything else, such as `group_by` or several vector columns, returns `400` with a message that names it.

## Limits

| Limit | |
| - | - |
| Queries | 1,000 a second per organization |
| Writes, other calls | 100 a second each |
| Request body | Up to 64 MiB |


## Related topics

- [API overview](https://docs.conare.ai/api.md)
- [Embed texts (OpenAI-compatible)](https://docs.conare.ai/api-reference/models/embed-texts-openai-compatible.md)
- [Rerank documents (Cohere- and vLLM-compatible)](https://docs.conare.ai/api-reference/models/rerank-documents-cohere-and-vllm-compatible.md)
- [Rerank documents (Cohere v2-compatible)](https://docs.conare.ai/api-reference/models/rerank-documents-cohere-v2-compatible.md)
- [Connect a source](https://docs.conare.ai/api-reference/sources/connect-a-source.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.