> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Describe a tool and its input schema

This API retrieves a tool's summary and its input schema as JSON Schema. The schema describes the parameters that callers may supply when invoking the tool.

Use this endpoint after discovering a tool to determine its accepted inputs and construct a valid invocation request. Parameters resolved by the platform at runtime, such as configuration values, authentication-profile values, expression results, lookup results, and other server-side values, are omitted from the published schema.

Permission requirement `tool:read`, granted by the platform API key scope `tools.read`.

## Path parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `projectSlug` | string | Yes | Project slug, not the project ID or UUID. |
| `toolName` | string | Yes | Tool name as authored. For MCP tools, use the `alias__toolName` format. |

This endpoint does not define query parameters or a request body.

## Authentication

Use one of the supported credentials:

* `x-api-key: abl_...` — platform API key.
* `Authorization: Bearer <abl_... | JWT>` — platform API key or Studio user JWT.
* `auth: <assertion>` — JWT App assertion.

Public SDK keys (`pk_...`) are not accepted. The JWT App assertion must be sent in the `auth` header, not the `Authorization` header.

## Response

A successful response contains `success` and `data`. The `data` object includes the tool's summary properties and an `input` property containing the JSON Schema for caller-supplied parameters.

The response can include the following properties:

| Property | Description |
| - | - |
| `name` | Tool name. |
| `type` | Tool type. |
| `description` | Tool description, when defined. |
| `effect` | Declared effect of the tool, when defined. |
| `requiresAuthProfile` | Indicates whether the tool resolves an authentication profile server-side. |
| `operations` | Operations allowed by the binding for an Agent Table tool. |
| `executable` | Indicates whether the tool can be invoked through this API. |
| `unsupportedReason` | Reason the tool cannot be executed, when applicable. |
| `input` | JSON Schema describing the parameters the caller may supply. |

## Input schema behavior

The `input` schema includes only caller-suppliable parameters. Parameters resolved by the platform are omitted rather than published as caller inputs.

For an Agent Table tool without a query template, the schema describes the structured call accepted by the executor. This includes `op` and the operands applicable to the selected operation. Only `op` is unconditionally required; the applicability of other operands depends on the selected operation.

A tool whose definition cannot be parsed can still be returned. In that case, `executable` is `false`, and `unsupportedReason` is `TOOL_DEFINITION_INVALID`.

Use the returned schema to construct the `params` object for the **Execute a tool** endpoint.

## Errors

| HTTP status | Description |
| - | - |
| `401` | Missing or invalid credentials, or an unsupported public SDK key. |
| `403` | The credential lacks the required permission or project access. |
| `404` | Project or tool not found, or the resource is unavailable. |
| `429` | Tenant request or tool-call rate limit exceeded. |

The `429` response uses a rate-limiter-specific response format rather than the standard API error envelope. Check the response headers for rate-limit information and retry guidance.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.