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

# Managed Tools

> Discover exact tool releases for Checkfu-operated provider accounts and understand the current catalog preview.

Managed Tools use Checkfu-operated provider accounts. A customer Connection
uses an account the customer connects. A Managed Tool selection therefore
contains a tool and release identity, with a per-call spending ceiling, rather
than a Connection or provider credential.

<Warning>
  Managed Tools currently expose a catalog preview. Listing a release does not
  establish provider availability or authorize a paid call. Public execution,
  provider-account qualification and commercial activation remain unfinished.
</Warning>

<Warning>
  The Checkfu CLI and TypeScript SDK are private-alpha artifacts with no self-service public installation channel.
  The artifacts this page uses are gated behind the current private-alpha rollout.
  Confirm [capability status](/getting-started/status) before making availability part of your application's contract.
</Warning>

## Discover releases

The catalog returns published releases with their input and output schemas,
provider, execution type, response and duration limits, and immutable source
digests. Each row also reports whether its release has been revoked.

Use the [TypeScript SDK](/reference/typescript-sdk), supplied as a private-alpha
artifact. Set `CHECKFU_API_KEY` to your Workspace API key before running the
example.

```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
import { Checkfu } from "@checkfu/sdk";

const checkfu = new Checkfu();
const releases = await checkfu.managedTools.list({ limit: 50 });

for (const entry of releases.data) {
  console.log(entry.tool.display_name, entry.release.id, entry.revoked);
}
```

Return the opaque `next_page` value unchanged to retrieve the next page. The
page limit is between 1 and 100. To inspect one published release, use both
identities from the catalog:

```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
const entry = releases.data[0];
if (entry) {
  const pinned = await checkfu.managedTools.retrieve(
    entry.tool.id,
    entry.release.id,
  );
  console.log(pinned.release.input_schema);
}
```

A tool keeps its stable identity across releases. A code, schema, profile,
limit or metadata change publishes a new release identity. Existing releases
retain their original metadata. Revocation stops new use of the exact release;
it does not silently replace that release with a newer one.

## Selection and purchase authority

Saved Agent configuration can retain an exact tool/release selection and a
maximum customer charge. Selection does not grant permission or establish
execution availability. The acting Principal and Agent need the applicable
use and spend authority; policy and budgets govern the call separately.

When a call needs approval, the purchase summary identifies the exact tool,
release and invocation, quoted price, maximum charge, billing rule and expiry.
The decision applies to that purchase. It grants no standing Connection
permission and carries no provider credential.

The published billing rule distinguishes a charge on an admitted dispatch from
a charge on a verified valid result. A valid-result rule also states whether a
valid empty result is chargeable. Polling and replay of the same invocation do
not create new retail purchases. Provider cost and the customer's authorized
charge are separate accounting facts.

Current catalog reads do not reserve money, retrieve a provider credential or
call a provider. Consult [Checkfu status](/getting-started/status) for shipped
capabilities and [ActionApprovals](/concepts/action-approvals) for decision scope.


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