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

# Update channel settings

> Patches the STR channel settings. Only the provided fields are updated; absent fields keep their current value. At least one field must be provided. Setting the participant ISPB requires an explicit 8-digit value (placeholders such as 00000000 are rejected). Idempotent — replaying the same X-Idempotency key with the same body returns the cached response.



## OpenAPI

````yaml en/openapi/v3-current/spb.yaml patch /v1/str/settings
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for Lerian SPB, the direct integration between the
    institution and the Brazilian Payment System (SPB) over the National
    Financial System Network (RSFN). It covers the Reserve Transfer System
    (STR): message registry and capability catalog, operation lifecycle (bank
    transfers, IBS repasses, liquidity transfers, returns and cancellations),
    reserve-account and schedule queries, alçada governance, reconciliation, and
    event delivery.
  license:
    name: Lerian Studio General License
  title: Lerian SPB API
  version: 1.0.0
servers:
  - url: https://spb.sandbox.lerian.net
security: []
tags:
  - description: Immutable audit-record trails for STR operations and lifecycle events.
    name: Audit
  - description: >-
      STR capability catalog describing supported message types and their
      constraints.
    name: Capabilities
  - description: >-
      ICP-Brasil certificate inventory with hot-reloadable rotation and
      activation.
    name: Certificates
  - description: >-
      Maker-checker approval queue for emissions parked above their alçada band:
      list pending, sign (approve), and deny.
    name: EmissionApprovals
  - description: Webhook event-delivery records with retry control for failed dispatches.
    name: EventDeliveries
  - description: Operation event catalog enumerating the emitted domain event types.
    name: Events
  - description: >-
      Inbound GEN-family notice log (GEN0001 connectivity echo, GEN0004
      transmission error, GEN0005 administrative notice).
    name: GenNotices
  - description: >-
      SPB alçada governance: the value-band table and per-message-type signature
      requirements, hot-reloaded at runtime.
    name: Governance
  - description: >-
      Read raw STR message status: list messages and read a single message by
      NUOp.
    name: Messages
  - description: Aggregated operational summaries and metrics across STR operations.
    name: OperationalIntelligence
  - description: >-
      STR operation lifecycle for bank transfers and IBS repasses, including
      returns and cancellations.
    name: Operations
  - description: >-
      Service readiness state covering startup self-probes and dependency
      health.
    name: Readiness
  - description: Reconciliation cases and the actions that resolve operation discrepancies.
    name: Reconciliation
  - description: >-
      STR reports suite: synchronous, date-ranged aggregate reports (financial
      movement, rejected transactions, volumetria) over Lerian SPB's own
      transmission record.
    name: Reports
  - description: >-
      STR0013 reserve-account balance and STR0014 statement (extrato,
      message-mode) queries and their async results.
    name: ReserveQueries
  - description: >-
      GEN0019 participant responsável roster: full-replacement updates announced
      to BACEN.
    name: Responsibles
  - description: STR operating-window schedule governing when operations may be sent.
    name: Schedule
  - description: >-
      STR0001 single-party schedule queries (consulta de horários do STR) and
      their async STR0001R1 grid results.
    name: ScheduleQueries
  - description: Runtime SPB configuration settings for the STR integration.
    name: Settings
  - description: Webhook endpoint registration and management for event delivery.
    name: Webhooks
  - description: >-
      Flow (mandatory order): certificate → readiness → connectivity-test →
      submit. Activate a certificate, confirm the rail reports ready, pass a
      connectivity test, then submit an operation. Each step is its own
      resource; a submit must not be attempted before readiness passes.
    name: onboarding
  - description: >-
      Flow (mandatory order): parent operation SETTLED → return/cancel. A return
      or cancellation is a sub-resource of a settled parent operation; the
      {operationId}/{endToEndID} path segment enforces the parent structurally.
    name: lifecycle
paths:
  /v1/str/settings:
    patch:
      tags:
        - Settings
      summary: Update channel settings
      description: >-
        Patches the STR channel settings. Only the provided fields are updated;
        absent fields keep their current value. At least one field must be
        provided. Setting the participant ISPB requires an explicit 8-digit
        value (placeholders such as 00000000 are rejected). Idempotent —
        replaying the same X-Idempotency key with the same body returns the
        cached response.
      operationId: updateSettings
      parameters:
        - description: Idempotency key (primary).
          in: header
          name: X-Idempotency
          schema:
            description: Idempotency key (primary).
            type: string
        - description: Idempotency key (legacy alias for X-Idempotency).
          in: header
          name: X-Idempotency-Key
          schema:
            description: Idempotency key (legacy alias for X-Idempotency).
            type: string
        - description: Idempotency key TTL in seconds (overrides the configured default).
          in: header
          name: X-TTL
          schema:
            description: Idempotency key TTL in seconds (overrides the configured default).
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSettingsInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    UpdateSettingsInput:
      additionalProperties: false
      properties:
        deliveryMode:
          description: >-
            Optional notification delivery mode to set: WEBHOOK, EVENT
            (streaming), or BOTH; left unchanged when omitted.
          examples:
            - WEBHOOK
          type: string
        ispb:
          description: >-
            Optional participant ISPB to set, the 8-digit BACEN institution
            identifier; left unchanged when omitted.
          examples:
            - '12345678'
          maxLength: 8
          minLength: 8
          pattern: ^[0-9]{8}$
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Optional client-supplied settings metadata to merge; sensitive keys
            are redacted on read.
          type: object
      type: object
    SettingsResponse:
      additionalProperties: false
      properties:
        certDaysRemaining:
          description: >-
            Whole days remaining until the active certificate expires; absent
            when no certificate is configured.
          examples:
            - 365
          format: int64
          type: integer
        certificateExpiresAt:
          description: >-
            UTC RFC 3339 expiry timestamp of the active ICP-Brasil certificate;
            absent when no certificate is configured.
          examples:
            - '2027-05-04T18:30:00Z'
          format: date-time
          type: string
        channelStatus:
          description: 'SPB channel connectivity status: CONNECTED or PENDING_CONFIGURATION.'
          examples:
            - CONNECTED
          type: string
        deliveryMode:
          description: 'Notification delivery mode: WEBHOOK, EVENT (streaming), or BOTH.'
          examples:
            - WEBHOOK
          type: string
        ispb:
          description: >-
            Participant ISPB the settings belong to, the 8-digit BACEN
            institution identifier.
          examples:
            - '12345678'
          maxLength: 8
          minLength: 8
          pattern: ^[0-9]{8}$
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Client-supplied settings metadata; sensitive keys and values are
            redacted before being returned.
          type: object
        readiness:
          $ref: '#/components/schemas/ReadinessSummary'
          description: >-
            Embedded readiness summary; present only when the readiness summary
            is available.
        webhooks:
          description: Configured webhook endpoints that receive STR notifications.
          items:
            $ref: '#/components/schemas/WebhookEndpointResponse'
          type:
            - array
            - 'null'
      required:
        - ispb
        - deliveryMode
        - channelStatus
        - webhooks
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ReadinessSummary:
      additionalProperties: false
      properties:
        blockers:
          description: >-
            Messages for conditions that block readiness; empty when there are
            none.
          examples:
            - - 'redis: connection refused'
          items:
            type: string
          type:
            - array
            - 'null'
        status:
          description: Aggregate readiness status.
          examples:
            - READY
          type: string
        warnings:
          description: >-
            Messages for non-blocking conditions that need attention; empty when
            there are none.
          examples:
            - - certificate expires in 12 days
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - status
        - blockers
        - warnings
      type: object
    WebhookEndpointResponse:
      additionalProperties: false
      properties:
        createdAt:
          description: UTC RFC 3339 timestamp at which the webhook endpoint was created.
          examples:
            - '2026-05-04T18:30:00Z'
          format: date-time
          type: string
        id:
          description: Server-assigned webhook endpoint UUID.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        isActive:
          description: Whether the endpoint is currently active and receiving deliveries.
          examples:
            - true
          type: boolean
        messageTypes:
          description: >-
            STR message types this endpoint subscribes to; empty means all
            types.
          examples:
            - - STR0004
              - STR0007
          items:
            type: string
          type:
            - array
            - 'null'
        metadata:
          additionalProperties: {}
          description: Client-supplied metadata for the webhook endpoint.
          type: object
        url:
          description: >-
            HTTPS URL that receives webhook deliveries for the subscribed
            message types.
          examples:
            - https://example.com/webhooks/str
          type: string
      required:
        - id
        - url
        - messageTypes
        - isActive
        - createdAt
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````