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

# Recent enablement changes with who made them

> The newest catalog enablement changes first: which tool or provider moved, from what to what, who did it (a member by email, an API key by name, an agent connection by name) and through which surface. Rows are written inside the transaction that moved the enablement and only when the state actually changed; the journal is append-only.



## OpenAPI

````yaml /api-reference/openapi.json get /credits/catalog/changes
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/changes:
    get:
      tags:
        - Catalog
      summary: Recent enablement changes with who made them
      description: >-
        The newest catalog enablement changes first: which tool or provider
        moved, from what to what, who did it (a member by email, an API key by
        name, an agent connection by name) and through which surface. Rows are
        written inside the transaction that moved the enablement and only when
        the state actually changed; the journal is append-only.
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
          description: Newest rows to return; anything outside 1-200 is a 400.
      responses:
        '200':
          description: Recent changes, newest first
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - changes
                properties:
                  success:
                    const: true
                  changes:
                    type: array
                    maxItems: 200
                    items:
                      $ref: '#/components/schemas/CatalogChange'
                additionalProperties: false
        '400':
          description: limit outside 1-200
        '403':
          $ref: '#/components/responses/InsufficientScope'
      security:
        - dashboardSession: []
        - secretKey: []
components:
  schemas:
    CatalogChange:
      type: object
      description: >-
        One catalog enablement change. Endpoint rows carry the effective state
        before and after; provider rows carry the provider row's own override
        (null before means no override existed).
      additionalProperties: false
      required:
        - id
        - slug
        - scope
        - enabledBefore
        - enabledAfter
        - actor
        - via
        - createdAt
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
          description: A provider id or provider/endpoint.
        scope:
          type: string
          enum:
            - provider
            - endpoint
        enabledBefore:
          type:
            - boolean
            - 'null'
        enabledAfter:
          type: boolean
        actor:
          type: object
          required:
            - type
            - id
            - label
          properties:
            type:
              type: string
              enum:
                - member
                - credential
                - agent
                - system
            id:
              type:
                - string
                - 'null'
              description: >-
                The member's subject, the key's id, or the agent connection's
                id.
            label:
              type: string
              description: >-
                What to show: a member's email, a key's name, an agent
                connection's name, or a fixed name when nothing better is known.
          additionalProperties: false
        via:
          type: string
          enum:
            - dashboard
            - onboarding
            - api
            - agent
            - credential
            - cli
            - router
            - batch
            - system
        createdAt:
          type: string
          format: date-time
    InsufficientScopeError:
      type: object
      additionalProperties: false
      required:
        - success
        - error
        - code
        - message
        - requiredScopes
        - presentScopes
      properties:
        success:
          const: false
        error:
          const: Forbidden
        code:
          const: INSUFFICIENT_SCOPE
        message:
          type: string
        requiredScopes:
          type: array
          items:
            $ref: '#/components/schemas/CreditsTenantScope'
          minItems: 1
          uniqueItems: true
        presentScopes:
          type: array
          items:
            $ref: '#/components/schemas/CreditsTenantScope'
          uniqueItems: true
    CreditsTenantScope:
      type: string
      enum:
        - tenant:read
        - tenant:write
        - catalog:write
        - credits:move
        - credentials:manage
        - tokens:manage
        - payouts:manage
        - members:manage
        - widget:read
  responses:
    InsufficientScope:
      description: >-
        The authenticated management credential lacks one or more required
        scopes
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InsufficientScopeError'
  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.

````