Redbelt API (1.0.0)

Download OpenAPI specification:

threads

Get Llms

Retrieve all available language models usable by the client.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": [
    ]
}

Run Thread Agent

Execute an agent conversation thread.

This endpoint creates or continues a conversation thread with an AI agent. The agent will process the utterance and use available tools to provide a comprehensive response. If no thread_id is provided, a new thread is created.

Authorizations:
None
Request Body schema: application/json
required
utterance
required
string (Utterance)

The user's message or question to send to the agent

Agent (string) or Agent (null) (Agent)

Agent slug to use (defaults to 'orchestrator')

Model (string) or Model (null) (Model)

Model slug to use (defaults to 'auto-fast')

Thread Id (string) or Thread Id (null) (Thread Id)

Existing thread ID to continue conversation, or null for new thread

System Instructions (string) or System Instructions (null) (System Instructions)

Additional system instructions for the agent

Array of Allowed Tools (strings) or Allowed Tools (null) (Allowed Tools)

List of tool names the agent is allowed to use

Tool Parameters (object) or Tool Parameters (null) (Tool Parameters)

Parameters for specific tools (tool_name -> parameters). These are optional. If not provided, the ai agent will generate its own parameters or use defaults.

File Search:
- query: str
- num_results: int
- tags_contains_any: List[str]
- tags_contains_all: List[str]

Internet Search:
- queries: List[str]
- num_results: int

Extract:
- extraction_template_id: str

Browse URL:
- url: str

For Each:
- delimiter: str
- type: str
- custom_instructions: str
- language: str
Pre Run Tool (string) or Pre Run Tool (null) (Pre Run Tool)

Tool to execute before the agent processes the utterance

Required Tool (string) or Required Tool (null) (Required Tool)

Tool that must be executed during this run

Array of Upload Ids (strings) or Upload Ids (null) (Upload Ids)

IDs of uploaded files to include in context

Array of Folder Ids (strings) or Folder Ids (null) (Folder Ids)

IDs of folders to search for context

Responses

Request samples

Content type
application/json
{
  • "utterance": "string",
  • "agent": "string",
  • "model": "string",
  • "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84",
  • "system_instructions": "string",
  • "allowed_tools": [
    ],
  • "tool_parameters": {
    },
  • "pre_run_tool": "string",
  • "required_tool": "string",
  • "upload_ids": [
    ],
  • "folder_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

Stream Agent

Stream real-time agent execution events via Server-Sent Events.

This endpoint provides a streaming connection that emits events during agent execution, including tool calls, responses, and completion status. Events are sent as they occur during the agent run.

Authorizations:
None
path Parameters
run_id
required
string (Run Id)

ID of the agent run to stream

Responses

Response samples

Content type
application/json
null

Approve Thread Run

Authorizations:
None
path Parameters
run_id
required
string (Run Id)
Request Body schema: application/json
required
decision
required
string (Decision)
Enum: "approve" "approve_with_edits" "reject"
Array of Upload Ids (strings) or Upload Ids (null) (Upload Ids)
Array of Folder Ids (strings) or Folder Ids (null) (Folder Ids)
Tool Parameters (object) or Tool Parameters (null) (Tool Parameters)

Responses

Request samples

Content type
application/json
{
  • "decision": "approve",
  • "upload_ids": [
    ],
  • "folder_ids": [
    ],
  • "tool_parameters": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

files

Start Upload

Initiate a multipart file upload session.

This endpoint creates an upload session for files to be uploaded in multiple parts. Returns the upload_id, part_size, and number of parts needed for the upload.

Authorizations:
None
Request Body schema: application/json
required
folder_id
required
string <uuid> (Folder Id)

The ID of the folder where the file will be uploaded

file_name
required
string (File Name)

The name of the file being uploaded including the extension

size
required
integer (Size)

The total size of the file in bytes (max 512MB)

Metadata (object) or Metadata (null) (Metadata)

Optional metadata dictionary associated with the file

Array of Tags (strings) or Tags (null) (Tags)

Optional list of tags for categorizing the file

Client Batch Id (string) or Client Batch Id (null) (Client Batch Id)

Optional batch identifier for grouping multiple uploads

Responses

Request samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "file_name": "string",
  • "size": 0,
  • "metadata": { },
  • "tags": [
    ],
  • "client_batch_id": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

Upload Part

Upload a single part of a multipart file upload.

This endpoint accepts raw binary data for one part of a multipart upload. The part data should be sent as the request body.

Authorizations:
None
path Parameters
upload_id
required
string (Upload Id)

ID of the upload object

part_number
required
integer (Part Number)

The part number being uploaded (1-based indexing)

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

Finish Upload

Complete a multipart file upload and queue it for processing.

This endpoint finalizes the upload by combining all uploaded parts and queues the file for distillation (text extraction and ai processing).

Authorizations:
None
path Parameters
upload_id
required
string (Upload Id)

ID of the upload object

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

Stream Status

Stream real-time upload progress events via Server-Sent Events.

This endpoint provides a streaming connection that emits events about upload progress, including part uploads, completion, and errors. Use optional filters to listen for specific uploads or batches.

Authorizations:
None
Request Body schema: application/json
Upload Id (string) or Upload Id (null) (Upload Id)

Filter events to only this specific upload session

Client Batch Id (string) or Client Batch Id (null) (Client Batch Id)

Filter events to only uploads with this batch identifier

Responses

Request samples

Content type
application/json
{
  • "upload_id": "f2ef591b-135b-46fa-a604-3d4fda5bfbfb",
  • "client_batch_id": "string"
}

Response samples

Content type
application/json
null

Get Upload Session

Retrieve the current state of an upload session.

Returns information about the upload session including progress, number of parts uploaded, and session status.

Authorizations:
None
path Parameters
upload_id
required
string (Upload Id)

ID of the upload object

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}

Get Upload

Retrieve information about a completed file upload.

Returns metadata about the uploaded file including its status, location, and processing information.

Authorizations:
None
path Parameters
upload_id
required
string (Upload Id)

ID of the upload object

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status_code": 0,
  • "timestamp": "string",
  • "data": {
    }
}