# Activeloop

Agentic Reasoning on Your Multimodal Data

<div align="center" data-full-width="false"><figure><picture><source srcset="/files/olMbuQenTwkCn6GwLPzt" media="(prefers-color-scheme: dark)"><img src="https://www.activeloop.ai/static/diagram-e485c4122fbff8b5f58a7fe156588348.png" alt="" width="488"></picture><figcaption></figcaption></figure></div>

Activeloop-L0 is a compound AI system that ingests and answers questions from your unstructured, multimodal data. It delivers accurate, traceable answers with clear source citations, ensuring trust and transparency through visual reasoning.

[Quickstart](/setup/quickstart) or [Request a Demo](https://www.activeloop.ai/contact/)

## Key Capabilities: Go Beyond Basic RAG

All thanks to [Deep Lake](https://docs.deeplake.ai/latest/), Activeloop provides unique advantages over traditional RAG systems, enabling deeper understanding and control of your data.

💡 **Native Multimodal Understanding**: Leverage advanced Visual Language Models (VLMs) to intrinsically understand PDFs, PowerPoints, images, audio, and more **without** brittle OCR or complex pre-processing.

☁️ **Your Data, Your Cloud, Your Control**: Deploy entirely within your secure cloud infrastructure. Connect private data sources and bring your own models (BYOM), ensuring sensitive data never leaves your perimeter.

✅ **Trustworthy & Explainable Results**: Deliver highly accurate, grounded answers backed by clear citations directly to the source data, ensuring reliability, auditability, and user trust.&#x20;

<figure><img src="/files/ZVEGMeujEoHvK1gTkKS8" alt="activeloop-l0 benchmarks"><figcaption><p>Activeloop-L0 achieves overall 84% state-of-the-art accuracy on 1,142 multimodal questions (292 PDFs, 5.5K pages). It outperforms text only RAG by +20%, visual RAG by +10%, and Alibaba’s ViDoRAG by +5% on their own ViDoSeek benchmark</p></figcaption></figure>

## Why Activeloop? Achieve Tangible AI ROI

🚀 **Accelerate & Automate Workflows**: Seamlessly embed deep knowledge retrieval and reasoning into core business processes like compliance checks, research synthesis, and customer support.

🧑‍💻 **Free Your AI Team to Innovate:** Eliminate the infrastructure bottleneck. We automate parsing, chunking, embedding, and indexing, letting your team focus on high-value AI applications, not data plumbing.

✨ **Unlock Actionable Insights**: Discover hidden connections and analyze trends across disparate data types. Extract meaningful insights previously buried in your complex multimodal data assets.&#x20;

## Use Cases Across Industries

* **Financial Services:** Analyze quarterly reports alongside market news videos and earnings call audio.
* **Pharma & Life Sciences:** Accelerate R\&D by connecting research papers, clinical trial data, and lab notes.
* **Technology:** Gain holistic customer understanding by correlating support tickets, call audio, and user session recordings.
* **Legal & Compliance:** Perform deep analysis across case law, contracts, and internal communications with full audit trails.
* **Insurance:** Streamline claims processing and enhance fraud detection by correlating claim forms, incident reports, damage photos/videos, repair estimates, and policyholder data.

### Overcoming Traditional RAG Limitations

Basic RAG struggles where enterprise needs are greatest:

* **Agentic Scaffold:** predefined loops and rigid agent scaffolds.
* **Multimodal Data:** Difficulty processing and relating information beyond plain text.
* **Infrastructure Burden:** High cost and effort to build/maintain complex pipelines.
* **Integration Challenge:** Difficulty embedding insights into meaningful workflows.
* **Control & Security:** Concerns over data leaving secure perimeters with SaaS RAG.

### Activeloop Knowledge Agents vs. Traditional RAG

| Feature                     | Traditional RAG                 | **Activeloop Knowledge Agents**          |
| --------------------------- | ------------------------------- | ---------------------------------------- |
| **Data Support**            | Mostly text-only                | ✅ **Native Multimodal**                  |
| **Reasoning**               | Limited keyword/semantic search | ✅ **Advanced relationship & multi-step** |
| **Integration**             | Basic retrieval                 | ✅ **Deep workflow integration**          |
| **Data Pre-processing**     | Manual/Complex (OCR often)      | ✅ **Automated / Native understanding**   |
| **Infrastructure**          | High complexity, manual mgmt.   | ✅ **Automated, streamlined**             |
| **Deployment/Security**     | Often SaaS, limited control     | ✅ **Your Cloud, Secure Private, BYOM**   |
| **Accuracy/Explainability** | Variable, opaque sourcing       | ✅ **High accuracy with clear citations** |

***

### Get Started with Activeloop <a href="#getting-started" id="getting-started"></a>

Ready to unlock the true potential of your enterprise data?

1. [**Explore the Documentation**](/user-guide/ingesting-with-metadata)**:** Dive deeper into concepts, architecture, and API references.
2. [**Try the Quickstart**](/setup/quickstart)**:** Set up a basic instance and index your first multimodal data.
3. [**Talk to Us**](https://www.activeloop.ai/contact/)**:** Discuss your specific use case and see a tailored demonstration.


# Quickstart

Upload a document and run a query. All within minutes.

**Get Token**

Sign up at [chat.activeloop.ai](http://chat.activeloop.ai). Navigate to ⚙️ → API tokens, and create a token. Set the token as `ACTIVELOOP_TOKEN` environment variable.

**Upload Documents**

We will fetch 4 reference guides from NASA each more than 90 pages and ask a highly complex question.&#x20;

```python
import os, io, requests

pdf_urls = ["https://www.nasa.gov/wp-content/uploads/2022/03/sls-reference-guide-2022-v2-508-0.pdf",
            "https://www.nasa.gov/wp-content/uploads/2023/02/orion-reference-guide-111022.pdf", 
            "https://www.lpi.usra.edu/lunar/artemis/Artemis-I-Reference-Guide_NP-2022-03-3045-HQ.pdf",
            "https://www.ulalaunch.com/docs/default-source/rockets/2023_vulcan_user_guide.pdf"]

files = [('file', (os.path.basename(url), io.BytesIO(requests.get(url).content))) for url in pdf_urls]

response = requests.post(
      'https://api.activeloop.ai/files', 
      headers={"Authorization": f"Bearer {os.getenv('ACTIVELOOP_TOKEN')}"},
      files=files
)
# Onced uploaded, it would take few minutes to index
```

You can learn about the state by [listing files](/api-reference/files).

**Query Data**

Once the data is indexed, you can run a query against it as if you are calling your LLM . &#x20;

```python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.activeloop.ai/",
    api_key=os.getenv('ACTIVELOOP_TOKEN')
)

response = client.chat.completions.create(
    model="activeloop-l0",
    messages=[
        {
            "role": "user",
            "content": "Using the side-view diagrams that annotate overall height, rank SLS Block 1, Orion (CM + SM), " +
                       "Falcon 9 (v1.2 FT), and Vulcan Centaur by height; which vehicle is the second tallest, " +
                       "and what is its annotated height (m, one decimal place)?"
        }
    ],
    stream=True
)

chunks = [chunk.choices[0] for chunk in response]
thinking = "".join([c.delta.reasoning_content for c in chunks if c.delta.reasoning_content is not None]) 
answer = "".join([c.delta.content for c in chunks if c.delta.content is not None]) 
citations = chunks[-1].metadata['relevant_docs']

```


# Storage & Credentials


# Models & Pricing

Managed cloud cost is based on consumption for compute and tiered for storage.

### Models

Choose the following models for querying the data.

<table><thead><tr><th>Model name</th><th width="97.26953125">Latency</th><th>Description</th></tr></thead><tbody><tr><td>activeloop-l0-retrieval</td><td>1-5s</td><td>Hybrid visual search. Just returns top_k elements.  </td></tr><tr><td>activeloop-l0</td><td>~40s</td><td>Reasoning iterations with evidence collection and verification including inline citations.</td></tr></tbody></table>

### Pricing

1M input tokens is roughly 1,000 pages of a document. Output tokens include thinking and search results.&#x20;

|               | Input             | Output            | Storage           |
| ------------- | ----------------- | ----------------- | ----------------- |
| activeloop-l0 | $1.00 / 1M tokens | $15.00 / 1M token | $99 / 100GB month |

## **Scenarios**

1. **Financial**: 2,100 pages of documents including quarterly reports, market news video transcripts, and earnings call transcripts.&#x20;
   1. Approximate total cost is **$122/month** | Input 2M tokens → $2, Output 8M tokens → $120, Free Storage
2. **Healthcare**: 8,000 pages of research documents including research papers, clinical trial documents, lab notes, and supplementary data.&#x20;
   1. Approximate total cost is **$707/month** | Input 8M tokens → $8, Output 40M tokens → $600, Storage Tier 100GB -> $99
3. **Insurance**: 120,000 pages of insurance documents including claim forms, incident reports, damage photos/videos, repair estimates, policyholder data, and investigation reports.&#x20;
   1. Approximate total cost is **$2,568/month** | Input 120M tokens → $120, Output 150M tokens → $2,250, Storage Tier 200GB → $198

## **Need Enterprise deployment?**

Activeloop is trusted by F500 including likes of [Bayer](https://www.activeloop.ai/usecase/bayer/), [Flagship Pioneering](https://www.activeloop.ai/usecase/flagshippioneering/), and [Matterport](https://www.activeloop.ai/usecase/matterport/).

* Deploy on your cloud, ensuring data never leaves your infrastructure.
* Integrate custom storage and LLMs.
* Enjoy SOC2 compliance, fine-grained access control, and SSO.

[Book a call](https://www.activeloop.ai/contact/) to discuss enterprise deployment.


# Ingesting with Metadata

This guide covers how to upload multiple documents to Activeloop and interact with your data through the Chat Completions API.

## Uploading Data

This section handles batch uploading PDF files from philosophy and mathematics categories providing extra metadata.

```python
import os
import json
import requests

url = 'https://api.activeloop.ai/files'
headers = {'Authorization': f'Bearer {os.getenv("ACTIVELOOP_TOKEN")}'}

for category in ['philosophy', 'mathematics']:
    for author in os.listdir(category):
        files = [('file', (pdf, open(f'{category}/{author}/{pdf}', 'rb'))) for pdf in os.listdir(f'{category}/{author}')]
        
        # specify any extra metadata 
        metadata = { 
            'category': category,
            'author': author
        }
        data = {'metadata': json.dumps(metadata)}
        
        # upload files 
        response = requests.post(url, headers=headers, files=files, data=data)
        print(response.status_code)
```

You can learn more on supported document type by going over [modalities](/user-guide/ingesting-with-metadata/modalities).&#x20;


# Modalities

You can upload the following document types

Supported Document Extensions

| Type             | Description                     | Status |
| ---------------- | ------------------------------- | ------ |
| .pdf             | PDF Documents                   | ✅      |
| .txt, .md, .json | Text, Markdown and Dictionaries | ✅      |
| .docx, .pptx     | Microsoft Office                | ✅      |
| .csv, .xlsx      | Table formats                   | soon   |
| .jpeg, .png      | Image formats                   | ✅      |
| .wav, .mp3       | Audio formats                   | ✅      |
| .mp4, .mkv, .avi | Video formats                   | soon   |


# Filtering Query

This section provides a detailed guide to the filter expression syntax, a lightweight query language for filtering data.

### Simple Query&#x20;

Querying the data works as follows

```python
import os, requests

url = "https://api.activeloop.ai/chat/completions"
token = os.environ["ACTIVELOOP_TOKEN"]
headers = {'Authorization': f'Bearer {token}'}

payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": "What is logic?", 
        }   
    ]
}
        
response = requests.post(url, headers=headers, json=payload)

# Print the response
print(response.json())
```

### Retrieving top K elements without Reasoning

When `activeloop-l0-retrieval` is used there is no reasoning or summary returned. Only `top_k` results.

```python
payload = {
    "model": "activeloop-l0-retrieval",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "top_k": 3
                },
                {
                    "type": "text",
                    "text": "What is logic?" # query
                }
            ]
        }   
    ]
}
        
response = requests.post(url, headers=headers, json=payload)

print(response.json()["choices"]) # top k elements
```

### Getting answer from Hegel

Now, we can filter files based on metadata, before running the query.&#x20;

```python
payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "filter": "metadata.author == 'hegel'"
                }, 
                {   
                    "type": "text",
                    "text": "What is logic?"
                } 
            ]   
        }   
    ],
}       
        
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```

### Getting answer from other authors

```python
payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "filter": "metadata.author != 'hegel'"
                },   
                {   
                    "type": "text",
                    "text": "What is logic?"
                }
            ]
        }   
    ],
}       
        
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```

You can learn more about on various ways you can filter the data via [Query Syntax](/user-guide/filtering-query/query-syntax).


# Query Syntax

Cheatsheet for filtering the data

## Basic Syntax

A filter expression consists of one or more conditions that can be combined using logical operators. Each condition typically follows this pattern:

```sql
column operator value
```

## Supported Operators

| Operator      | Description              | Example                           |
| ------------- | ------------------------ | --------------------------------- |
| `=`, `==`     | Equals                   | `name = "John"`                   |
| `!=`, `<>`    | Not equals               | `status != "inactive"`            |
| `>`           | Greater than             | `age > 30`                        |
| `>=`          | Greater than or equal to | `price >= 100`                    |
| `<`           | Less than                | `quantity < 5`                    |
| `<=`          | Less than or equal to    | `temperature <= 32`               |
| `in`          | Value is in a list       | `status in ["active", "pending"]` |
| `like`        | Pattern matching         | `name like "%Smith%"`             |
| `is null`     | Value is null            | `address is null`                 |
| `is not null` | Value is not null        | `email is not null`               |

## Data Types

The syntax supports the following data types:

* **Strings**: Enclosed in double quotes (`"value"`) or single quotes (`'value'`)
* **Numbers**: Integers or decimals (`42`, `3.14`)
* **Booleans**: `true` or `false`
* **Lists**: Enclosed in square brackets, with comma-separated values (`[1, 2, 3]`, `["active", "pending"]`)

## Logical Operators

Conditions can be combined using logical operators:

* **AND**: `condition1 and condition2`
* **OR**: `condition1 or condition2`

Parentheses can be used to group conditions and control precedence:

```javascript
(age > 30 and status = "active") or role = "admin"
```

## Accessing Nested Properties

For nested data structures, use dot notation to access properties:

```javascript
user.profile.name = "John"
metadata.tags[0] = "important"
```

## Examples

### Basic Comparisons

```javascript
// Simple equality check
name = "John"

// Numeric comparison
age > 30

// Boolean value
is_active = true
```

### Combining Conditions

```javascript
// Using AND
age > 30 and status = "active"

// Using OR
status = "pending" or status = "in_review"

// Combining with parentheses
(age > 30 and status = "active") or role = "admin"
```

### Working with Lists

```javascript
// Check if value is in a list
status in ["active", "pending", "in_review"]

// Empty list
tags in []
```

### Pattern Matching

```javascript
// Names that contain "Smith"
name like "%Smith%"

// Email addresses from a specific domain
email like "%@example.com"

// Starts with a specific prefix
product_code like "ABC%"
```

### Null Checks

```javascript
// Check if a field is null
address is null

// Check if a field is not null
email is not null
```

### Nested Properties

```javascript
// Access nested object properties
user.profile.address = "New York"

// Access array elements
metadata.tags[0] = "important"

// Deep nesting
order.items[0].product.name = "Widget"
```

### Complex Filters

```javascript
// Complex filter combining multiple conditions
(status in ["active", "pending"] and created_date > "2023-01-01") or
(is_priority = true and (assigned_to = "John" or assigned_to is null))
```

## Reserved Keywords

The following keywords are reserved and should not be used as field names:

* `and`
* `or`
* `in`
* `like`
* `is`
* `null`
* `not`
* `true`
* `false`

## Best Practices

1. Use parentheses to make complex expressions clearer
2. Be consistent with string quotes (prefer double quotes)
3. Use whitespace to improve readability
4. For complex filters, break expressions into multiple lines


# Streaming Output

Following the tutorial on [QuickStart](/setup/quickstart), instead of waiting the whole reasoning to be completed, you can stream intermediate tokens.&#x20;

```python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.activeloop.ai/",
    api_key=os.getenv('ACTIVELOOP_TOKEN')
)

stream = client.chat.completions.create(
    model="activeloop-l0",
    messages=[{"role": "user", "content": "what is the AIME score of DeepSeek R1?"}],
    stream=True,
)

for event in stream:
    print(event)
```


# Structure Output


# Integrating MCP


# Customizing models


# Chat Completions

## Create Chat Completion

> Create a chat completion with OpenAI-compatible format

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionRequest":{"properties":{"workspace":{"type":"string","title":"Workspace","default":"default"},"model":{"type":"string","title":"Model","default":"activeloop-l0"},"messages":{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array","title":"Messages"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature","default":1},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P","default":1},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N","default":1},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Stream","default":false},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tokens"},"max_completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Completion Tokens"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty","default":0},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty","default":0},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Logprobs","default":false},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Logprobs"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stop"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"response_format":{"anyOf":[{"$ref":"#/components/schemas/ResponseFormat"},{"type":"null"}]},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"},"stream_options":{"anyOf":[{"$ref":"#/components/schemas/StreamOptions"},{"type":"null"}]},"store":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Store","default":false},"metadata":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Metadata"},"modalities":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Modalities"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Tier"},"reasoning_effort":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}],"title":"Reasoning Effort"}},"type":"object","required":["messages"],"title":"ChatCompletionRequest"},"ChatMessage":{"properties":{"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role","default":"user"},"content":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/TextContentPart"},{"$ref":"#/components/schemas/FilterContentPart"}]},"type":"array"},{"type":"string"}],"title":"Content"}},"type":"object","required":["content"],"title":"ChatMessage"},"TextContentPart":{"properties":{"type":{"type":"string","const":"text","title":"Type","default":"text"},"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"TextContentPart"},"FilterContentPart":{"properties":{"type":{"type":"string","const":"filter","title":"Type","default":"filter"},"filter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"},"top_k":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top K"},"file_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"File Ids"}},"type":"object","title":"FilterContentPart"},"ResponseFormat":{"properties":{"type":{"type":"string","title":"Type"}},"type":"object","required":["type"],"title":"ResponseFormat"},"StreamOptions":{"properties":{"include_usage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Usage"}},"type":"object","title":"StreamOptions"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions":{"post":{"summary":"Create Chat Completion","description":"Create a chat completion with OpenAI-compatible format","operationId":"create_chat_completion_chat_completions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Get Chat Completion Messages

> Get messages for a chat completion

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionMessageList":{"properties":{"object":{"type":"string","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/ChatCompletionMessageObject"},"type":"array","title":"Data"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Id"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["data"],"title":"ChatCompletionMessageList"},"ChatCompletionMessageObject":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"content_parts":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Content Parts"}},"type":"object","required":["id","role"],"title":"ChatCompletionMessageObject"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions/{completion_id}/messages":{"get":{"summary":"Get Chat Completion Messages","description":"Get messages for a chat completion","operationId":"get_chat_completion_messages_chat_completions__completion_id__messages_get","parameters":[{"name":"completion_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the chat completion","title":"Completion Id"},"description":"The ID of the chat completion"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to lookup chat completion messages in","default":"default","title":"Workspace"},"description":"The ID of workspace to lookup chat completion messages in"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifier for the last message from the previous pagination request","title":"After"},"description":"Identifier for the last message from the previous pagination request"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of messages to retrieve","default":20,"title":"Limit"},"description":"Number of messages to retrieve"},{"name":"order","in":"query","required":false,"schema":{"type":"string","description":"Sort order for messages by timestamp","default":"asc","title":"Order"},"description":"Sort order for messages by timestamp"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionMessageList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## List Completions

> List stored Chat Completions

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionList":{"properties":{"object":{"type":"string","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/ChatCompletionObject"},"type":"array","title":"Data"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Id"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["data"],"title":"ChatCompletionList"},"ChatCompletionObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"chat.completion"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"choices":{"items":{"$ref":"#/components/schemas/ChatCompletionChoice"},"type":"array","title":"Choices"},"usage":{"$ref":"#/components/schemas/ChatCompletionUsage"},"perception_usage":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionUsage"},{"type":"null"}]},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Tier"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty"},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty"},"input_user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input User"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tools"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"response_format":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Format"},"responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Responses"}},"type":"object","required":["model","choices","usage"],"title":"ChatCompletionObject"},"ChatCompletionChoice":{"properties":{"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/ChatCompletionMessage"},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/LogProbs"},{"type":"null"}]},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["index","message"],"title":"ChatCompletionChoice"},"ChatCompletionMessage":{"properties":{"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"refusal":{"anyOf":[{},{"type":"null"}],"title":"Refusal"},"annotations":{"items":{"$ref":"#/components/schemas/ChatMessageAnnotation"},"type":"array","title":"Annotations"}},"type":"object","required":["role"],"title":"ChatCompletionMessage"},"ChatMessageAnnotation":{"properties":{"type":{"type":"string","title":"Type"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"file_citation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Citation"},"file_path":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Path"}},"type":"object","required":["type","text","start_index","end_index"],"title":"ChatMessageAnnotation"},"LogProbs":{"properties":{"content":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Content"}},"type":"object","title":"LogProbs"},"ChatCompletionUsage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens"},"completion_tokens":{"type":"integer","title":"Completion Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["prompt_tokens","completion_tokens","total_tokens"],"title":"ChatCompletionUsage"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions":{"get":{"summary":"List Completions","description":"List stored Chat Completions","operationId":"list_completions_chat_completions_get","parameters":[{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to lookup chat completions in","default":"default","title":"Workspace"},"description":"The ID of workspace to lookup chat completions in"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifier for the last chat completion from the previous pagination request","title":"After"},"description":"Identifier for the last chat completion from the previous pagination request"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of Chat Completions to retrieve","default":20,"title":"Limit"},"description":"Number of Chat Completions to retrieve"},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","description":"Sort order for Chat Completions by timestamp","default":"asc","title":"Order"},"description":"Sort order for Chat Completions by timestamp"},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by model","title":"Model"},"description":"Filter by model"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Get Chat Completion

> Get a stored chat completion

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"chat.completion"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"choices":{"items":{"$ref":"#/components/schemas/ChatCompletionChoice"},"type":"array","title":"Choices"},"usage":{"$ref":"#/components/schemas/ChatCompletionUsage"},"perception_usage":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionUsage"},{"type":"null"}]},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Tier"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty"},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty"},"input_user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input User"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tools"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"response_format":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Format"},"responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Responses"}},"type":"object","required":["model","choices","usage"],"title":"ChatCompletionObject"},"ChatCompletionChoice":{"properties":{"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/ChatCompletionMessage"},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/LogProbs"},{"type":"null"}]},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["index","message"],"title":"ChatCompletionChoice"},"ChatCompletionMessage":{"properties":{"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"refusal":{"anyOf":[{},{"type":"null"}],"title":"Refusal"},"annotations":{"items":{"$ref":"#/components/schemas/ChatMessageAnnotation"},"type":"array","title":"Annotations"}},"type":"object","required":["role"],"title":"ChatCompletionMessage"},"ChatMessageAnnotation":{"properties":{"type":{"type":"string","title":"Type"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"file_citation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Citation"},"file_path":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Path"}},"type":"object","required":["type","text","start_index","end_index"],"title":"ChatMessageAnnotation"},"LogProbs":{"properties":{"content":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Content"}},"type":"object","title":"LogProbs"},"ChatCompletionUsage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens"},"completion_tokens":{"type":"integer","title":"Completion Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["prompt_tokens","completion_tokens","total_tokens"],"title":"ChatCompletionUsage"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions/{completion_id}":{"get":{"summary":"Get Chat Completion","description":"Get a stored chat completion","operationId":"get_chat_completion_chat_completions__completion_id__get","parameters":[{"name":"completion_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the chat completion to retrieve","title":"Completion Id"},"description":"The ID of the chat completion to retrieve"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to lookup chat completion in","default":"default","title":"Workspace"},"description":"The ID of workspace to lookup chat completion in"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Update Chat Completion

> Update metadata for a chat completion

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"chat.completion"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"choices":{"items":{"$ref":"#/components/schemas/ChatCompletionChoice"},"type":"array","title":"Choices"},"usage":{"$ref":"#/components/schemas/ChatCompletionUsage"},"perception_usage":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionUsage"},{"type":"null"}]},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Tier"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty"},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty"},"input_user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input User"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tools"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"response_format":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Format"},"responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Responses"}},"type":"object","required":["model","choices","usage"],"title":"ChatCompletionObject"},"ChatCompletionChoice":{"properties":{"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/ChatCompletionMessage"},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/LogProbs"},{"type":"null"}]},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["index","message"],"title":"ChatCompletionChoice"},"ChatCompletionMessage":{"properties":{"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"refusal":{"anyOf":[{},{"type":"null"}],"title":"Refusal"},"annotations":{"items":{"$ref":"#/components/schemas/ChatMessageAnnotation"},"type":"array","title":"Annotations"}},"type":"object","required":["role"],"title":"ChatCompletionMessage"},"ChatMessageAnnotation":{"properties":{"type":{"type":"string","title":"Type"},"text":{"type":"string","title":"Text"},"start_index":{"type":"integer","title":"Start Index"},"end_index":{"type":"integer","title":"End Index"},"file_citation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Citation"},"file_path":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"File Path"}},"type":"object","required":["type","text","start_index","end_index"],"title":"ChatMessageAnnotation"},"LogProbs":{"properties":{"content":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Content"}},"type":"object","title":"LogProbs"},"ChatCompletionUsage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens"},"completion_tokens":{"type":"integer","title":"Completion Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["prompt_tokens","completion_tokens","total_tokens"],"title":"ChatCompletionUsage"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions/{completion_id}":{"post":{"summary":"Update Chat Completion","description":"Update metadata for a chat completion","operationId":"update_chat_completion_chat_completions__completion_id__post","parameters":[{"name":"completion_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the chat completion to update","title":"Completion Id"},"description":"The ID of the chat completion to update"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to update chat completion in","default":"default","title":"Workspace"},"description":"The ID of workspace to update chat completion in"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Metadata"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Get Chat Completion Messages

> Get messages for a chat completion

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionMessageList":{"properties":{"object":{"type":"string","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/ChatCompletionMessageObject"},"type":"array","title":"Data"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Id"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["data"],"title":"ChatCompletionMessageList"},"ChatCompletionMessageObject":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","enum":["system","user","assistant","developer"],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"content_parts":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Content Parts"}},"type":"object","required":["id","role"],"title":"ChatCompletionMessageObject"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions/{completion_id}/messages":{"get":{"summary":"Get Chat Completion Messages","description":"Get messages for a chat completion","operationId":"get_chat_completion_messages_chat_completions__completion_id__messages_get","parameters":[{"name":"completion_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the chat completion","title":"Completion Id"},"description":"The ID of the chat completion"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to lookup chat completion messages in","default":"default","title":"Workspace"},"description":"The ID of workspace to lookup chat completion messages in"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifier for the last message from the previous pagination request","title":"After"},"description":"Identifier for the last message from the previous pagination request"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of messages to retrieve","default":20,"title":"Limit"},"description":"Number of messages to retrieve"},{"name":"order","in":"query","required":false,"schema":{"type":"string","description":"Sort order for messages by timestamp","default":"asc","title":"Order"},"description":"Sort order for messages by timestamp"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionMessageList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Delete Chat Completion

> Delete a chat completion

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"ChatCompletionDeleted":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"chat.completion.deleted"},"deleted":{"type":"boolean","title":"Deleted","default":true}},"type":"object","required":["id"],"title":"ChatCompletionDeleted"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/chat/completions/{completion_id}":{"delete":{"summary":"Delete Chat Completion","description":"Delete a chat completion","operationId":"delete_chat_completion_chat_completions__completion_id__delete","parameters":[{"name":"completion_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the chat completion to delete","title":"Completion Id"},"description":"The ID of the chat completion to delete"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The ID of workspace to delete chat completion in","default":"default","title":"Workspace"},"description":"The ID of workspace to delete chat completion in"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionDeleted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


# Files

## Upload File

> Upload a file with optional metadata.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"Body_upload_file_files_post":{"properties":{"file":{"items":{"type":"string","format":"binary"},"type":"array","title":"File"},"purpose":{"$ref":"#/components/schemas/FilePurpose","default":"user_data"},"metadata":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metadata","description":"JSON string with file metadata"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions","description":"Instructions used to process the file"},"workspace":{"type":"string","title":"Workspace","default":"default"}},"type":"object","title":"Body_upload_file_files_post"},"FilePurpose":{"type":"string","enum":["batch","batch_output","vision","user_data","evals"],"title":"FilePurpose"},"FileObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"file"},"bytes":{"type":"integer","title":"Bytes"},"created_at":{"type":"integer","title":"Created At"},"filename":{"type":"string","title":"Filename"},"purpose":{"anyOf":[{"$ref":"#/components/schemas/FilePurpose"},{"type":"null"}],"default":"user_data"},"status":{"$ref":"#/components/schemas/FileStatus","default":"uploaded"},"status_details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Details"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"workspace_id":{"type":"string","title":"Workspace Id","default":"default"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","bytes","created_at","filename"],"title":"FileObject"},"FileStatus":{"type":"string","enum":["uploaded","parsed","indexed","upload_failed","parse_failed","index_failed","parsing","indexing"],"title":"FileStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files":{"post":{"summary":"Upload File","description":"Upload a file with optional metadata.","operationId":"upload_file_files_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_files_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/FileObject"}},{"$ref":"#/components/schemas/FileObject"}],"title":"Response Upload File Files Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## List Files

> Returns a list of files, filtered by the organization.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"FilePurpose":{"type":"string","enum":["batch","batch_output","vision","user_data","evals"],"title":"FilePurpose"},"FileList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/FileObject"},"type":"array","title":"Data"},"object":{"type":"string","title":"Object","default":"list"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["data","total"],"title":"FileList"},"FileObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"file"},"bytes":{"type":"integer","title":"Bytes"},"created_at":{"type":"integer","title":"Created At"},"filename":{"type":"string","title":"Filename"},"purpose":{"anyOf":[{"$ref":"#/components/schemas/FilePurpose"},{"type":"null"}],"default":"user_data"},"status":{"$ref":"#/components/schemas/FileStatus","default":"uploaded"},"status_details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Details"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"workspace_id":{"type":"string","title":"Workspace Id","default":"default"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","bytes","created_at","filename"],"title":"FileObject"},"FileStatus":{"type":"string","enum":["uploaded","parsed","indexed","upload_failed","parse_failed","index_failed","parsing","indexing"],"title":"FileStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files":{"get":{"summary":"List Files","description":"Returns a list of files, filtered by the organization.","operationId":"list_files_files_get","parameters":[{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"List files in workspace","default":"default","title":"Workspace"},"description":"List files in workspace"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"After"},"description":"Cursor for pagination"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"description":"Limit the number of returned files","default":10000,"title":"Limit"},"description":"Limit the number of returned files"},{"name":"order","in":"query","required":false,"schema":{"type":"string","description":"Sort order by creation timestamp","default":"desc","title":"Order"},"description":"Sort order by creation timestamp"},{"name":"purpose","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FilePurpose"},{"type":"null"}],"description":"Filter by purpose","title":"Purpose"},"description":"Filter by purpose"},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by metadata","title":"Filter"},"description":"Filter by metadata"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Retrieve File

> Returns information about a specific file, verifying organization access.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"FileObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"file"},"bytes":{"type":"integer","title":"Bytes"},"created_at":{"type":"integer","title":"Created At"},"filename":{"type":"string","title":"Filename"},"purpose":{"anyOf":[{"$ref":"#/components/schemas/FilePurpose"},{"type":"null"}],"default":"user_data"},"status":{"$ref":"#/components/schemas/FileStatus","default":"uploaded"},"status_details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Details"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"workspace_id":{"type":"string","title":"Workspace Id","default":"default"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","bytes","created_at","filename"],"title":"FileObject"},"FilePurpose":{"type":"string","enum":["batch","batch_output","vision","user_data","evals"],"title":"FilePurpose"},"FileStatus":{"type":"string","enum":["uploaded","parsed","indexed","upload_failed","parse_failed","index_failed","parsing","indexing"],"title":"FileStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files/{file_id}":{"get":{"summary":"Retrieve File","description":"Returns information about a specific file, verifying organization access.","operationId":"retrieve_file_files__file_id__get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the file","title":"File Id"},"description":"The ID of the file"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"Get file from workspace","default":"default","title":"Workspace"},"description":"Get file from workspace"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Delete File

> Delete a file, verifying organization access.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"DeletedStatus":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"file"},"deleted":{"type":"boolean","title":"Deleted","default":true}},"type":"object","required":["id"],"title":"DeletedStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files/{file_id}":{"delete":{"summary":"Delete File","description":"Delete a file, verifying organization access.","operationId":"delete_file_files__file_id__delete","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the file","title":"File Id"},"description":"The ID of the file"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"Delete file from workspace","default":"default","title":"Workspace"},"description":"Delete file from workspace"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Retrieve File Content

> Returns the contents of the specified file, verifying organization access.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files/{file_id}/content":{"get":{"summary":"Retrieve File Content","description":"Returns the contents of the specified file, verifying organization access.","operationId":"retrieve_file_content_files__file_id__content_get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the file","title":"File Id"},"description":"The ID of the file"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The workspace id to get file content from","default":"default","title":"Workspace"},"description":"The workspace id to get file content from"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Update File Metadata

> Update metadata for a specific file, verifying organization access.

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"FileObject":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"file"},"bytes":{"type":"integer","title":"Bytes"},"created_at":{"type":"integer","title":"Created At"},"filename":{"type":"string","title":"Filename"},"purpose":{"anyOf":[{"$ref":"#/components/schemas/FilePurpose"},{"type":"null"}],"default":"user_data"},"status":{"$ref":"#/components/schemas/FileStatus","default":"uploaded"},"status_details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Details"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"workspace_id":{"type":"string","title":"Workspace Id","default":"default"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","bytes","created_at","filename"],"title":"FileObject"},"FilePurpose":{"type":"string","enum":["batch","batch_output","vision","user_data","evals"],"title":"FilePurpose"},"FileStatus":{"type":"string","enum":["uploaded","parsed","indexed","upload_failed","parse_failed","index_failed","parsing","indexing"],"title":"FileStatus"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/files/{file_id}/metadata":{"patch":{"summary":"Update File Metadata","description":"Update metadata for a specific file, verifying organization access.","operationId":"update_file_metadata_files__file_id__metadata_patch","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the file","title":"File Id"},"description":"The ID of the file"},{"name":"workspace","in":"query","required":false,"schema":{"type":"string","description":"The workspace id to update th file in","default":"default","title":"Workspace"},"description":"The workspace id to update th file in"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"The metadata to update. `instructions` key is considered as an instruction to update metadata by AI.","title":"Metadata"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FileObject"},{"type":"null"}],"title":"Response Update File Metadata Files  File Id  Metadata Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


# Workspaces

## POST /workspaces

> Create Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceCreateRequest":{"properties":{"id":{"type":"string","maxLength":34,"minLength":1,"pattern":"^[a-z0-9]+(?:[-_][a-z0-9]+)*$","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"WorkspaceCreateRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces":{"post":{"summary":"Create Workspace","operationId":"create_workspace_workspaces_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /workspaces

> List Workspaces

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WorkspaceObject"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"WorkspaceList"},"WorkspaceObject":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"creator_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creator User Id"},"org_id":{"type":"string","title":"Org Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","name","org_id"],"title":"WorkspaceObject"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces":{"get":{"summary":"List Workspaces","operationId":"list_workspaces_workspaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /workspaces/{workspace\_id}

> Get Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceObject":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"creator_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creator User Id"},"org_id":{"type":"string","title":"Org Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","name","org_id"],"title":"WorkspaceObject"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}":{"get":{"summary":"Get Workspace","operationId":"get_workspace_workspaces__workspace_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to get.","title":"Workspace Id"},"description":"The ID of the workspace to get."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## DELETE /workspaces/{workspace\_id}

> Delete Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}":{"delete":{"summary":"Delete Workspace","operationId":"delete_workspace_workspaces__workspace_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to delete.","title":"Workspace Id"},"description":"The ID of the workspace to delete."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## POST /workspaces/{workspace\_id}/user

> Add User To Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceAddUserRequest":{"properties":{"user":{"type":"string","title":"User"},"access":{"type":"string","enum":["writer","viewer"],"title":"Access"}},"type":"object","required":["user","access"],"title":"WorkspaceAddUserRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}/user":{"post":{"summary":"Add User To Workspace","operationId":"add_user_to_workspace_workspaces__workspace_id__user_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to add user to.","title":"Workspace Id"},"description":"The ID of the workspace to add user to."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceAddUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## PUT /workspaces/{workspace\_id}/user

> Update User In Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceUpdateUserRequest":{"properties":{"user":{"type":"string","title":"User"},"access":{"type":"string","enum":["writer","viewer"],"title":"Access"}},"type":"object","required":["user","access"],"title":"WorkspaceUpdateUserRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}/user":{"put":{"summary":"Update User In Workspace","operationId":"update_user_in_workspace_workspaces__workspace_id__user_put","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to update user info.","title":"Workspace Id"},"description":"The ID of the workspace to update user info."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdateUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## DELETE /workspaces/{workspace\_id}/user/{user\_id}

> Remove User From Workspace

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}/user/{user_id}":{"delete":{"summary":"Remove User From Workspace","operationId":"remove_user_from_workspace_workspaces__workspace_id__user__user_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to remove user from.","title":"Workspace Id"},"description":"The ID of the workspace to remove user from."},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the user.","title":"User Id"},"description":"The ID of the user."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /workspaces/{workspace\_id}/users

> List Workspace Users

```json
{"openapi":"3.1.0","info":{"title":"Activeloop Deep Research API","version":"1.0.0"},"servers":[{"url":"https://api.activeloop.ai","description":"Production server"},{"url":"https://api-beta.activeloop.dev","description":"Beta server"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Enter your bearer token in the format 'your-token' (without quotes or 'Bearer' prefix)"}},"schemas":{"WorkspaceUserList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WorkspaceUser"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"WorkspaceUserList"},"WorkspaceUser":{"properties":{"user_id":{"type":"string","title":"User Id"},"access":{"type":"string","enum":["writer","viewer","owner"],"title":"Access"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["user_id","access","created_at"],"title":"WorkspaceUser"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/workspaces/{workspace_id}/users":{"get":{"summary":"List Workspace Users","operationId":"list_workspace_users_workspaces__workspace_id__users_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the workspace to list users from.","title":"Workspace Id"},"description":"The ID of the workspace to list users from."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUserList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


