---
title: "Enable or disable a bounded set of slugs"
method: PUT
path: "/credits/catalog/batch"
tags: ["Catalog"]
---

# Enable or disable a bounded set of slugs

`PUT /credits/catalog/batch`

## Request

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

Enables or disables up to 50 slugs (provider ids or provider/endpoint) in one transaction, each with the row semantics of the single write: a provider entry converges its endpoint-level enablement overrides to inherit (and clears their MCP pins when it turns off); an endpoint entry writes its own row (and drops its own pin when it turns off). Markup overrides are preserved. Everything is validated before anything is written; entries apply in the order given; the response reports the effective enablement per entry. Open to personal accounts. Registered ahead of the provider routes, so batch is never read as a provider id.

## Request body

- object
  - `entries` object[], required
    - `slug` string, required: A provider id or provider/endpoint. Slugs must be unique within a request.
    - `enabled` boolean, required

## Response `200`

Every entry written; enabled is what the burn and discovery paths now resolve per slug

- object
  - `success` unknown, required
  - `scope` 'batch', required
  - `updated` integer, required
  - `results` object[], required
    - `slug` string, required
    - `enabled` boolean, required
    - `scope` 'provider' | 'endpoint', required

## Other responses

- `400`: Empty or oversized entry list, a duplicate slug, or an unexpected body key
- `404`: At least one slug is unknown, named in the message; no rows are written

---

[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)
