---
title: "Turn every mutable tool on or off"
method: PUT
path: "/credits/catalog/all"
tags: ["Catalog"]
---

# Turn every mutable tool on or off

`PUT /credits/catalog/all`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/catalog/all`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Moves every tool the workspace can switch in one transaction. enabled: true writes tool rows only: provider-level rows never move, so a tool added to a provider later still starts off. enabled: false writes every provider with a tool on at provider scope, resetting its endpoint-level enablement overrides to inherit and clearing their MCP pins, exactly as a provider entry of the batch route does. Markup overrides are preserved; always-on tools and custom endpoints are untouched. Every mutable provider is locked first, in one statement. The write is journaled under a fresh request id of its own, never the caller's x-request-id, and the response returns it so POST /credits/catalog/changes/{requestId}/revert can put exactly this write back. Open to personal accounts. Registered ahead of the provider routes, so all is never read as a provider id.

## Request body

- object
  - `enabled` boolean, required

## Response `200`

Every tool not already there has moved; updated counts tools whose effective enablement changed, providers counts the providers touched

- object
  - `success` unknown, required
  - `scope` 'all', required
  - `enabled` boolean, required
  - `updated` integer, required
  - `providers` integer, required
  - `unpinned` string[], required: Tools whose MCP pins a turn-off cleared (empty for a turn-on). A revert restores enablement, not pins: the caller may pin these again.
  - `requestId` string, required: The journal id of this write, naming its direction and its enablement revision, for the revert route.

## Other responses

- `400`: enabled missing, not a boolean, or an unexpected body key
- `403`: The authenticated management credential lacks one or more required scopes
- `503`: Curation could not be read, even after reading it again; nothing was changed

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
