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

# Enable or disable a bounded set of slugs

> 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.



## OpenAPI

````yaml /api-reference/openapi.json put /credits/catalog/batch
openapi: 3.1.0
info:
  title: Locus Pro API
  description: >-
    Access paid tools, manage prepaid balances, and build usage billing. Send
    money as exact decimal strings and reuse Idempotency-Key on retries.
    Management routes require a scoped server key or authorized dashboard
    session. Sensitive workspace changes require an owner or admin with recent
    MFA or passkey verification, except where an operation documents a stricter
    boundary. Interactive agents use MCP OAuth; unattended agents use scoped
    Agent Connections. Browser widgets use end-user tokens.
  version: 0.7.0
servers:
  - url: https://api.paywithlocus.com/api
    description: Production
  - url: https://api.stage.paywithlocus.com/api
    description: Stage — evaluation and integration testing
security:
  - secretKey: []
tags:
  - name: Authentication
    description: Email-verified self-serve account creation and dashboard identity
  - name: Tenants
    description: Tenant profile, keys, and settings (dashboard session or secret key)
  - name: Workspace members
    description: Invite-only human workspace membership and role administration
  - name: Catalog
    description: Enable/disable APIs and set markups
  - name: Custom APIs
    description: Feature-gated enterprise BYOK providers and schema-backed custom actions
  - name: End users
    description: End-user accounts, tokens, and allocations
  - name: Top-ups
    description: Locus-hosted checkout top-ups and quotes
  - name: Ledger
    description: Burn/top-up history and earnings
  - name: Webhooks
    description: Signed events, delivery inspection, and replay
  - name: Burn
    description: Metered pay-per-use calls
  - name: MCP
    description: Stateless Streamable HTTP transport and MCP tool-result contracts
  - name: Okibi Identity
    description: >-
      Feature-gated Okibi identity verification and scoped native CLI credential
      bootstrap
  - name: Widget
    description: End-user JWT surface; a matching publishable key is optional
  - name: Agent-native onboarding
    description: >-
      Self-registration, human Stripe funding handoff, and restricted account
      setup for headless agents
  - name: Hosted Workflows
    description: >-
      Tenant-private TypeScript Workflow definitions, immutable versions,
      bounded runs, artifacts, and recovery
  - name: Agent connections
    description: Scoped, expiring, revocable credentials for agent execution
  - name: Recipes
    description: >-
      Search, research, extraction, enrichment, and travel outcomes across
      providers
paths:
  /credits/catalog/batch:
    put:
      tags:
        - Catalog
      summary: Enable or disable a bounded set of slugs
      description: >-
        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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - entries
              properties:
                entries:
                  type: array
                  minItems: 1
                  maxItems: 50
                  items:
                    type: object
                    required:
                      - slug
                      - enabled
                    properties:
                      slug:
                        type: string
                        minLength: 1
                        maxLength: 512
                        description: >-
                          A provider id or provider/endpoint. Slugs must be
                          unique within a request.
                      enabled:
                        type: boolean
                    additionalProperties: false
              additionalProperties: false
      responses:
        '200':
          description: >-
            Every entry written; enabled is what the burn and discovery paths
            now resolve per slug
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - scope
                  - updated
                  - results
                properties:
                  success:
                    const: true
                  scope:
                    const: batch
                  updated:
                    type: integer
                    minimum: 1
                    maximum: 50
                  results:
                    type: array
                    minItems: 1
                    maxItems: 50
                    items:
                      type: object
                      required:
                        - slug
                        - enabled
                        - scope
                      properties:
                        slug:
                          type: string
                        enabled:
                          type: boolean
                        scope:
                          type: string
                          enum:
                            - provider
                            - endpoint
                      additionalProperties: false
                additionalProperties: false
        '400':
          description: >-
            Empty or oversized entry list, a duplicate slug, or an unexpected
            body key
        '404':
          description: >-
            At least one slug is unknown, named in the message; no rows are
            written
      security:
        - dashboardSession: []
        - secretKey: []
components:
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Tenant secret key (lcr_…). Server-side only.
    dashboardSession:
      type: http
      scheme: bearer
      description: >-
        Locus Pro dashboard session (Cognito). High-risk workspace
        administration requires an owner or admin role and fresh MFA/passkey
        step-up.

````