---
title: "Compress Tool Discovery Batch"
method: POST
path: "/api/compress/tool-discovery/batch"
tags: ["Compression-Agentic"]
---

# Compress Tool Discovery Batch

`POST /api/compress/tool-discovery/batch`

## Headers

- `X-API-Key` string, required

## Request body

- ToolDiscoveryBatchRequest
  - `inputs` ToolDiscoveryRequest[], required
    - `query` string, required — User's query to find relevant tools (REQUIRED)
    - `tools` ToolDefinition[], required — All available tools
      - `name` string, required — Unique tool name
      - `description` string — Tool description
      - `parameters` object, nullable — JSON schema for tool parameters
    - `max_tools` integer — Maximum number of tools to return (default: 5)
    - `always_keep` string[], nullable — Tool names to always include in results
    - `compression_model_name` string, required — Compression model to use (e.g., 'tdc_espresso')
    - `source` 'demo' | 'extension' | 'sdk:python' | 'sdk:typescript' | 'sdk:curl' | 'gateway:unknown' | 'gateway:anthropic' | 'gateway:openai' | 'gateway:gemini' | 'integration:litellm' | 'integration:hermes' — 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

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/compresr/apis/compresr-platform-api.md) · [All operations](https://skmtc.net/compresr/apis/compresr-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/compresr/compresr-platform-api/revisions/93ee959dfa51/schema)
