Compresr Compression-Agentic API
The Compression-Agentic API from Compresr — 18 operation(s) for compression-agentic.
The Compression-Agentic API from Compresr — 18 operation(s) for compression-agentic.
openapi: 3.1.0
info:
title: Compresr Platform Admin Compression-Agentic API
version: 1.0.0
tags:
- name: Compression-Agentic
paths:
/api/compress/history/:
post:
tags:
- Compression-Agentic
summary: Compress History
operationId: compress_history_api_compress_history__post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryCompressRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryCompressResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/history/batch:
post:
tags:
- Compression-Agentic
summary: Compress History Batch
operationId: compress_history_batch_api_compress_history_batch_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryBatchRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/history/stream:
post:
tags:
- Compression-Agentic
summary: Compress History Stream
operationId: compress_history_stream_api_compress_history_stream_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryCompressRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/history/health:
get:
tags:
- Compression-Agentic
summary: Health History
operationId: health_history_api_compress_history_health_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Health History Api Compress History Health Get
/api/compress/history/models:
get:
tags:
- Compression-Agentic
summary: Models History
operationId: models_history_api_compress_history_models_get
security:
- HTTPBearer: []
parameters:
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/history/models/{model_id}:
get:
tags:
- Compression-Agentic
summary: Model History
operationId: model_history_api_compress_history_models__model_id__get
security:
- HTTPBearer: []
parameters:
- name: model_id
in: path
required: true
schema:
type: string
title: Model Id
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-output/:
post:
tags:
- Compression-Agentic
summary: Compress Tool Output
operationId: compress_tool_output_api_compress_tool_output__post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolOutputCompressRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ToolOutputCompressResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-output/batch:
post:
tags:
- Compression-Agentic
summary: Compress Tool Output Batch
operationId: compress_tool_output_batch_api_compress_tool_output_batch_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolOutputBatchRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-output/stream:
post:
tags:
- Compression-Agentic
summary: Compress Tool Output Stream
operationId: compress_tool_output_stream_api_compress_tool_output_stream_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolOutputCompressRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-output/health:
get:
tags:
- Compression-Agentic
summary: Health Tool Output
operationId: health_tool_output_api_compress_tool_output_health_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Health Tool Output Api Compress Tool Output Health Get
/api/compress/tool-output/models:
get:
tags:
- Compression-Agentic
summary: Models Tool Output
operationId: models_tool_output_api_compress_tool_output_models_get
security:
- HTTPBearer: []
parameters:
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-output/models/{model_id}:
get:
tags:
- Compression-Agentic
summary: Model Tool Output
operationId: model_tool_output_api_compress_tool_output_models__model_id__get
security:
- HTTPBearer: []
parameters:
- name: model_id
in: path
required: true
schema:
type: string
title: Model Id
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-discovery/:
post:
tags:
- Compression-Agentic
summary: Compress Tool Discovery
operationId: compress_tool_discovery_api_compress_tool_discovery__post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolDiscoveryRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ToolDiscoveryResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-discovery/batch:
post:
tags:
- Compression-Agentic
summary: Compress Tool Discovery Batch
operationId: compress_tool_discovery_batch_api_compress_tool_discovery_batch_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolDiscoveryBatchRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-discovery/stream:
post:
tags:
- Compression-Agentic
summary: Compress Tool Discovery Stream
operationId: compress_tool_discovery_stream_api_compress_tool_discovery_stream_post
parameters:
- name: X-API-Key
in: header
required: true
schema:
type: string
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ToolDiscoveryRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-discovery/health:
get:
tags:
- Compression-Agentic
summary: Health Tool Discovery
operationId: health_tool_discovery_api_compress_tool_discovery_health_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Health Tool Discovery Api Compress Tool Discovery Health Get
/api/compress/tool-discovery/models:
get:
tags:
- Compression-Agentic
summary: Models Tool Discovery
operationId: models_tool_discovery_api_compress_tool_discovery_models_get
security:
- HTTPBearer: []
parameters:
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/compress/tool-discovery/models/{model_id}:
get:
tags:
- Compression-Agentic
summary: Model Tool Discovery
operationId: model_tool_discovery_api_compress_tool_discovery_models__model_id__get
security:
- HTTPBearer: []
parameters:
- name: model_id
in: path
required: true
schema:
type: string
title: Model Id
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DemoDataResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
SampleText:
properties:
name:
type: string
title: Name
text:
type: string
title: Text
type: object
required:
- name
- text
title: SampleText
HistoryCompressResult:
properties:
summary:
type: string
title: Summary
description: Compressed history summary
original_tokens:
type: integer
title: Original Tokens
description: Token count of original history
compressed_tokens:
type: integer
title: Compressed Tokens
description: Token count of summary
messages_compressed:
type: integer
title: Messages Compressed
description: Number of messages that were compressed
messages_kept:
type: integer
title: Messages Kept
description: Number of recent messages kept
compression_ratio:
type: number
title: Compression Ratio
description: Actual compression ratio achieved
duration_ms:
type: integer
title: Duration Ms
description: Processing time in milliseconds
default: 0
type: object
required:
- summary
- original_tokens
- compressed_tokens
- messages_compressed
- messages_kept
- compression_ratio
title: HistoryCompressResult
ToolDiscoveryResponse:
properties:
success:
type: boolean
title: Success
default: true
message:
anyOf:
- type: string
- type: 'null'
title: Message
data:
anyOf:
- $ref: '#/components/schemas/ToolDiscoveryResult'
- type: 'null'
type: object
title: ToolDiscoveryResponse
HistoryCompressResponse:
properties:
success:
type: boolean
title: Success
default: true
message:
anyOf:
- type: string
- type: 'null'
title: Message
data:
anyOf:
- $ref: '#/components/schemas/HistoryCompressResult'
- type: 'null'
type: object
title: HistoryCompressResponse
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
DemoDataResponse:
properties:
success:
type: boolean
title: Success
default: true
message:
anyOf:
- type: string
- type: 'null'
title: Message
data:
$ref: '#/components/schemas/DemoData'
type: object
required:
- data
title: DemoDataResponse
ToolDiscoveryBatchRequest:
properties:
inputs:
items:
$ref: '#/components/schemas/ToolDiscoveryRequest'
type: array
maxItems: 100
minItems: 1
title: Inputs
type: object
required:
- inputs
title: ToolDiscoveryBatchRequest
ToolDiscoveryRequest:
properties:
query:
type: string
minLength: 1
title: Query
description: User's query to find relevant tools (REQUIRED)
tools:
items:
$ref: '#/components/schemas/ToolDefinition'
type: array
minItems: 1
title: Tools
description: All available tools
max_tools:
type: integer
maximum: 50.0
minimum: 1.0
title: Max Tools
description: 'Maximum number of tools to return (default: 5)'
default: 5
always_keep:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Always Keep
description: Tool names to always include in results
compression_model_name:
type: string
title: Compression Model Name
description: Compression model to use (e.g., 'tdc_espresso')
source:
anyOf:
- $ref: '#/components/schemas/Source'
- type: 'null'
description: 'Source of request: demo, extension, sdk:<client>, gateway:<provider>'
type: object
required:
- query
- tools
- compression_model_name
title: ToolDiscoveryRequest
description: 'Request to discover relevant tools.
Backbone: SaT (conversion happens in compressor layer)
- chunks = tool descriptions
- query = user''s query
- output = filtered list of relevant tool names'
ToolDefinition:
properties:
name:
type: string
title: Name
description: Unique tool name
description:
type: string
title: Description
description: Tool description
default: ''
parameters:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Parameters
description: JSON schema for tool parameters
type: object
required:
- name
title: ToolDefinition
ToolOutputCompressRequest:
properties:
tool_output:
anyOf:
- type: string
- items:
type: string
type: array
title: Tool Output
description: Tool output to compress - single string or list of strings
query:
anyOf:
- type: string
- type: 'null'
title: Query
description: User's query for context-aware compression (required for GemFilter, prohibited for Lingua)
tool_name:
type: string
title: Tool Name
description: Name of the tool that produced the output
compression_model_name:
type: string
title: Compression Model Name
description: Compression model to use (e.g., 'toc_latte' or 'toc_americano')
target_compression_ratio:
type: number
maximum: 200.0
minimum: 0.0
title: Target Compression Ratio
description: 'Target compression ratio: 0-1 (strength) or >1 for factor. Max 200. Default: 0.5'
default: 0.5
source:
anyOf:
- $ref: '#/components/schemas/Source'
- type: 'null'
description: 'Source of request: demo, extension, sdk:<client>, gateway:<provider>'
type: object
required:
- tool_output
- tool_name
- compression_model_name
title: ToolOutputCompressRequest
description: 'Request to compress tool output.
Accepts tool_output as either:
- str: Single tool output
- List[str]: Multiple tool outputs (output type matches input type)
Backbone mapping (conversion happens in compressor layer):
- Lingua models (toc_americano): query PROHIBITED
- GemFilter models (toc_latte): query REQUIRED'
Source:
type: string
enum:
- demo
- extension
- sdk:python
- sdk:typescript
- sdk:curl
- gateway:unknown
- gateway:anthropic
- gateway:openai
- gateway:gemini
- integration:litellm
- integration:hermes
title: Source
description: 'Source of an API request.
Format: source[:detail]
- demo, extension: no detail needed
- sdk:python, sdk:typescript, sdk:curl
- gateway:anthropic, gateway:openai, gateway:gemini
- integration:litellm, integration:hermes'
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
DemoData:
properties:
sample_texts:
items:
$ref: '#/components/schemas/SampleText'
type: array
title: Sample Texts
compression_models:
items:
$ref: '#/components/schemas/DemoCompressionModelOption'
type: array
title: Compression Models
default: []
type: object
required:
- sample_texts
title: DemoData
ToolOutputCompressResponse:
properties:
success:
type: boolean
title: Success
default: true
message:
anyOf:
- type: string
- type: 'null'
title: Message
data:
anyOf:
- $ref: '#/components/schemas/ToolOutputCompressResult'
- type: 'null'
type: object
title: ToolOutputCompressResponse
HistoryMessage:
properties:
role:
type: string
title: Role
description: 'Message role: ''user'', ''assistant'', ''system'', or ''tool'''
content:
type: string
title: Content
description: Message content
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: Optional name for the message sender
tool_call_id:
anyOf:
- type: string
- type: 'null'
title: Tool Call Id
description: Tool call ID for tool messages
type: object
required:
- role
- content
title: HistoryMessage
HistoryBatchRequest:
properties:
inputs:
items:
$ref: '#/components/schemas/HistoryCompressRequest'
type: array
maxItems: 100
minItems: 1
title: Inputs
type: object
required:
- inputs
title: HistoryBatchRequest
ToolOutputBatchRequest:
properties:
inputs:
items:
$ref: '#/components/schemas/ToolOutputCompressRequest'
type: array
maxItems: 100
minItems: 1
title: Inputs
type: object
required:
- inputs
title: ToolOutputBatchRequest
DemoCompressionModelOption:
properties:
value:
type: string
title: Value
label:
type: string
title: Label
description:
type: string
title: Description
default: ''
tier_scale:
anyOf:
- type: string
- type: 'null'
title: Tier Scale
type: object
required:
- value
- label
title: DemoCompressionModelOption
HistoryCompressRequest:
properties:
messages:
items:
$ref: '#/components/schemas/HistoryMessage'
type: array
maxItems: 1000
minItems: 1
title: Messages
description: Conversation history to compress (list of messages, REQUIRED, max 1000)
keep_recent:
type: integer
maximum: 50.0
minimum: 1.0
title: Keep Recent
description: 'Number of recent messages to keep uncompressed (default: 3)'
default: 3
compression_model_name:
anyOf:
- type: string
- type: 'null'
title: Compression Model Name
description: Compression model to use. Defaults to DEFAULT_MODEL_HISTORY (hcc_latte_v1).
target_compression_ratio:
type: number
maximum: 200.0
minimum: 0.0
title: Target Compression Ratio
description: 'Target compression ratio: 0-1 (strength) or >1 for factor. Max 200. Default: 0.3'
default: 0.3
source:
anyOf:
- $ref: '#/components/schemas/Source'
- type: 'null'
description: 'Source of request: demo, extension, sdk:<client>, gateway:<provider>'
type: object
required:
- messages
title: HistoryCompressRequest
description: 'Request to compress conversation history.
The service layer injects a default query when the resolved backbone
requires one (GemFilter), so callers never pass a query directly.'
ToolOutputCompressResult:
properties:
compressed_output:
anyOf:
- type: string
- items:
type: string
type: array
title: Compressed Output
description: Compressed tool output - same type as input
original_tokens:
type: integer
title: Original Tokens
description: Token count of original output
compressed_tokens:
type: integer
title: Compressed Tokens
description: Token count after compression
compression_ratio:
type: number
title: Compression Ratio
description: Actual compression ratio achieved
tool_name:
type: string
title: Tool Name
description: Name of the tool
duration_ms:
type: integer
title: Duration Ms
description: Processing time in milliseconds
default: 0
type: object
required:
- compressed_output
- original_tokens
- compressed_tokens
- compression_ratio
- tool_name
title: ToolOutputCompressResult
ToolDiscoveryResult:
properties:
relevant_tools:
items:
type: string
type: array
title: Relevant Tools
description: Names of relevant tools
tool_count:
type: integer
title: Tool Count
description: Number of tools returned
original_tool_count:
type: integer
title: Original Tool Count
description: Number of tools in input
reasoning:
anyOf:
- type: string
- type: 'null'
title: Reasoning
description: Why these tools were selected
duration_ms:
type: integer
title: Duration Ms
description: Processing time in milliseconds
default: 0
type: object
required:
- relevant_tools
- tool_count
- original_tool_count
title: ToolDiscoveryResult
securitySchemes:
HTTPBearer:
type: http
scheme: bearer