Redbelt API (1.0.0)

Download OpenAPI specification:

threads

Get Llms

Retrieve all available language models usable by the client.

Authorizations:
BearerAuth

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.

thread_mode: 'agent' (default), 'workflow', or 'write' - selects the default internal agent agent_id: optional UUID to override with a specific interface agent

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

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

thread_mode
string (ThreadMode)
Default: "agent"
Enum: "agent" "workflow" "write"

Thread mode: 'agent' (default), 'workflow', or 'write'

agent_id
string <uuid> (Agent Id)

Agent ID to use (defaults to mode-appropriate internal agent)

model
string (Model)

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

thread_id
string <uuid> (Thread Id)

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

system_instructions
string (System Instructions)

Additional system instructions for the agent

allowed_tools
Array of strings (Allowed Tools)

List of tool names the agent is allowed to use

object (Tool Parameters)

Parameters for specific tools (tool_name -> parameters).

pre_run_tool
string (Pre Run Tool)

Tool to execute before the agent processes the utterance

required_tool
string (Required Tool)

Tool that must be executed during this run

upload_ids
Array of strings <uuid> (Upload Ids) [ items <uuid > ]

IDs of uploaded files to include in context

folder_ids
Array of strings <uuid> (Folder Ids) [ items <uuid > ]

IDs of folders to search for context

Responses

Request samples

Content type
application/json
{
  • "utterance": "string",
  • "thread_mode": "agent",
  • "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
  • "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": {
    }
}

Approve Thread Run

Authorizations:
BearerAuth
path Parameters
run_id
required
string (Run Id)
Request Body schema: application/json
required
decision
required
string (Decision)
Enum: "approve" "approve_with_edits" "reject"
upload_ids
Array of strings <uuid> (Upload Ids) [ items <uuid > ]
folder_ids
Array of strings <uuid> (Folder Ids) [ items <uuid > ]
object (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:
BearerAuth
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)

object (Metadata)

Optional metadata dictionary associated with the file

tags
Array of strings (Tags)

Optional list of tags for categorizing the file

client_batch_id
string (Client Batch Id)

Optional batch identifier for grouping multiple uploads

external_id
string (External Id)

Client-provided external identifier (<=64 chars)

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",
  • "external_id": "string"
}

Response samples

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

Start Update Upload

Authorizations:
BearerAuth
path Parameters
upload_id
required
string <uuid> (Upload Id)
Request Body schema: application/json
required
file_name
required
string (File Name)

The updated name of the file including the extension

size
required
integer (Size)

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

object (Metadata)

Optional metadata associated with the updated file

tags
Array of strings (Tags)

Optional list of tags for the updated file

client_batch_id
string (Client Batch Id)

Optional batch identifier for grouping uploads

Responses

Request samples

Content type
application/json
{
  • "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": {
    }
}

Update File Metadata

Authorizations:
BearerAuth
path Parameters
upload_id
required
string (Upload Id)
Request Body schema: application/json
required
title
string (Title)
file_name
string (File Name)
object (Metadata)
tags
Array of strings (Tags)
folder_id
string <uuid> (Folder Id)
external_id
string (External Id)

Responses

Request samples

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

Response samples

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

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:
BearerAuth
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:
BearerAuth
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:
BearerAuth
Request Body schema: application/json
upload_id
string <uuid> (Upload Id)

Filter events to only this specific upload session

client_batch_id
string (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:
BearerAuth
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:
BearerAuth
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": {
    }
}