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

# Record a contingency schedule change

> Records an out-of-band-received Núclea schedule announcement (OP002 §14 = telephone/e-mail) as an operator-entered operational fact, projected verbatim. The câmara's own wire grids (LDL0024, LDL0023R1) are read at listScheduleGrids; nothing here computes a schedule. The recorded change appends an audit row, raises the single active SCHEDULE_CHANGE alert (deadline_at = effectiveAt), and emits a schedule.change-recorded fact — all atomically. windowSeq 3 records the LBTR close Núclea announces when it extends the grade on a day BACEN declares the STR down (OP002 §14.5): the movement day's LTR0002, LTR0008 and SLC0004 stay open until it instead of 17h30, and every other code of that day (requests, and queries by their NUOp day) stays open until it instead of midnight. A close recorded after 17h30 reopens nothing the 17h30 close already failed.



## OpenAPI

````yaml /pt/openapi/v3-current/siloc.yaml post /api/v1/siloc/schedule/changes
openapi: 3.1.0
info:
  description: >-
    OpenAPI 3.1 surface for Lerian SILOC, the participant-side rail connecting
    the institution to Núclea's SILOC deferred-net interbank settlement.
  title: Lerian SILOC API
  version: 1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
security: []
paths:
  /api/v1/siloc/schedule/changes:
    post:
      tags:
        - Schedule
      summary: Record a contingency schedule change
      description: >-
        Records an out-of-band-received Núclea schedule announcement (OP002 §14
        = telephone/e-mail) as an operator-entered operational fact, projected
        verbatim. The câmara's own wire grids (LDL0024, LDL0023R1) are read at
        listScheduleGrids; nothing here computes a schedule. The recorded change
        appends an audit row, raises the single active SCHEDULE_CHANGE alert
        (deadline_at = effectiveAt), and emits a schedule.change-recorded fact —
        all atomically. windowSeq 3 records the LBTR close Núclea announces when
        it extends the grade on a day BACEN declares the STR down (OP002 §14.5):
        the movement day's LTR0002, LTR0008 and SLC0004 stay open until it
        instead of 17h30, and every other code of that day (requests, and
        queries by their NUOp day) stays open until it instead of midnight. A
        close recorded after 17h30 reopens nothing the 17h30 close already
        failed.
      operationId: recordScheduleChange
      parameters:
        - description: >-
            Idempotency key for this state-changing request (required, max 255
            characters).
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Idempotency key for this state-changing request (required, max 255
              characters).
            maxLength: 255
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordScheduleChangeInputBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleChangeResponse'
          description: Created
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    RecordScheduleChangeInputBody:
      additionalProperties: false
      properties:
        effectiveAt:
          description: >-
            The announced instant the change takes effect (RFC3339); with
            windowSeq 1 or 2, the announced new deposit close, which moves that
            window's WINDOW_CLOSING deadline and must fall on the window's São
            Paulo date, no earlier than it opens (else 422; record a close after
            midnight without windowSeq); with windowSeq 3, the extended LBTR
            close, after its movement day's 17h30 and before the next day's
            06h40 LBTR open, so a close past midnight extends the day before
            (else 422).
          format: date-time
          type: string
        origin:
          description: The announcing channel / upstream reference (non-empty, ≤256 chars).
          maxLength: 256
          type: string
        reason:
          description: Why the schedule changed (non-empty, ≤500 chars).
          maxLength: 500
          type: string
        windowSeq:
          description: >-
            The affected canonical window's grid sequence (1 or 2, validated
            against the compiled window grid), or 3 for the card LBTR cycle's
            close that Núclea announces when it extends the grade on a day BACEN
            declares the STR down; omit for a non-window-specific note.
          format: int64
          minimum: 1
          type: integer
      required:
        - reason
        - origin
        - effectiveAt
      type: object
    ScheduleChangeResponse:
      additionalProperties: false
      properties:
        announcedAt:
          description: When the change was recorded (intake instant).
          format: date-time
          type: string
        effectiveAt:
          description: >-
            The announced instant the change takes effect, recorded verbatim
            (for a window prorrogação, the announced new close).
          format: date-time
          type: string
        id:
          description: Schedule change id.
          format: uuid
          type: string
        origin:
          description: >-
            Auditable origin — the announcing channel / upstream reference (e.g.
            "Núclea e-mail ref X").
          type: string
        reason:
          description: Why the schedule changed, as recorded by the operator.
          type: string
        windowSeq:
          description: >-
            The affected canonical window's grid sequence (1 or 2), or 3 for the
            LBTR close; omitted for a non-window-specific note.
          format: int64
          type: integer
      required:
        - id
        - reason
        - effectiveAt
        - origin
        - announcedAt
      type: object
    Detail:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          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
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      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
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.