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

# Get the effective window (official schedule ⊕ cut-off ⊕ calendar) and the configured cut-off

> Returns the operating window of a day, that is, when the institution accepts TED send requests. It combines the official STR schedule, the institution cut-off, and the holiday calendar. `isOpen` tells if the window is open now. `source` tells what decided the result (schedule, schedule with cut-off, holiday, or weekend).

Outside the window, a send request returns 422 `TED-0020`. On a non-business day, it returns 422 `TED-0021`. If the schedule is unavailable, or the holiday calendar does not cover the date, it returns 503 `TED-0022`. When the STR has not published the customer-transfer schedule for the date, `TED-0022` carries the detail "The STR has not published the customer-transfer schedule for the requested date, so the operating window cannot be determined." When the schedule could not be read from the rail, it carries "The STR schedule could not be read from the rail, so the operating window cannot be determined. Retry later; if it persists, the institution's rail connection needs operator attention." Give `date` for another day; times are in UTC.



## OpenAPI

````yaml /pt/openapi/v3-current/ted-lerian.yaml get /v1/policy/window
openapi: 3.1.0
info:
  description: >-
    API of **TED Lerian**, the interface over Lerian SPB. Your institution uses
    it to send TEDs, make internal transfers, track incoming TEDs, and operate
    returns, queues, and policy on its Midaz ledger. The [API
    overview](/pt/reference/interfaces/ted-lerian/ted-lerian-api-overview) gives
    the concepts, the roles, and the conventions.
  title: TED Lerian API
  version: v1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
security:
  - BearerAuth: []
tags:
  - description: >-
      Outgoing TEDs and internal transfers: fee quote, creation, query,
      timeline, and cancellation. Every integration starts here.
    name: Transfers
  - description: >-
      Incoming TEDs from other institutions: query, timeline, and operator
      actions (full return and manual review resolution).
    name: Incoming Transfers
  - description: >-
      STR participant list, to resolve COMPE code ↔ ISPB and validate the
      destination bank before you create a transfer.
    name: Participants
  - description: >-
      Back office: operations queue, inconsistency findings between the ledger
      and the STR, reviews of rail facts, held returns, and manual unblock with
      evidence.
    name: Reconciliation
  - description: >-
      Operations dashboard: daily aggregates, regulatory deadlines (30/60/60
      min), and the closing balance that the STR reported.
    name: Operations
  - description: >-
      Institution configuration (editor): operating window and cut-off, usage
      limits, holiday calendar, and ISPB → organization bindings.
    name: Policy
paths:
  /v1/policy/window:
    get:
      tags:
        - Policy
      summary: >-
        Get the effective window (official schedule ⊕ cut-off ⊕ calendar) and
        the configured cut-off
      description: >-
        Returns the operating window of a day, that is, when the institution
        accepts TED send requests. It combines the official STR schedule, the
        institution cut-off, and the holiday calendar. `isOpen` tells if the
        window is open now. `source` tells what decided the result (schedule,
        schedule with cut-off, holiday, or weekend).


        Outside the window, a send request returns 422 `TED-0020`. On a
        non-business day, it returns 422 `TED-0021`. If the schedule is
        unavailable, or the holiday calendar does not cover the date, it returns
        503 `TED-0022`. When the STR has not published the customer-transfer
        schedule for the date, `TED-0022` carries the detail "The STR has not
        published the customer-transfer schedule for the requested date, so the
        operating window cannot be determined." When the schedule could not be
        read from the rail, it carries "The STR schedule could not be read from
        the rail, so the operating window cannot be determined. Retry later; if
        it persists, the institution's rail connection needs operator
        attention." Give `date` for another day; times are in UTC.
      operationId: getOperatingWindow
      parameters:
        - description: >-
            Reference date (YYYY-MM-DD). Default: today in the institution time
            zone.
          explode: false
          in: query
          name: date
          schema:
            description: >-
              Reference date (YYYY-MM-DD). Default: today in the institution
              time zone.
            format: date
            type: string
        - $ref: '#/components/parameters/XRequestId'
      responses:
        '200':
          content:
            application/json:
              example:
                clientCutoffTime: '17:00'
                configured: true
                date: '2026-10-22'
                effectiveClosesAt: '2026-10-22T20:00:00Z'
                effectiveOpensAt: '2026-10-22T09:30:00Z'
                isBusinessDay: true
                isOpen: true
                officialClosesAt: '2026-10-22T20:30:00Z'
                source: OFFICIAL_SCHEDULE_WITH_CUTOFF
              schema:
                $ref: '#/components/schemas/OperatingWindow'
          description: Effective window for the requested date (today by default).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Invalid reference date (`TED-0001`).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: 'Not authenticated: token missing, invalid, or expired (`TED-0070`).'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            No permission: the token's role does not authorize this action
            (`TED-0071`).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            Parameter outside the declared format (for example, a `date` that is
            not YYYY-MM-DD): a framework validation refusal (`TED-0002`, see
            `errors`).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            Unexpected failure (`TED-9000`). If it continues, contact support
            and give the `X-Request-Id` of the response.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            Official schedule or configuration unavailable, or a holiday
            calendar that does not cover the date, so the window is undetermined
            (`TED-0022`).
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
components:
  parameters:
    XRequestId:
      description: >-
        Correlation identifier of this request (UUID). Optional: when you omit
        it, or when the value is not a well-formed UUID, the platform creates a
        UUID and returns it in the X-Request-Id header of the response. The
        resolved identifier goes to the logs, spans, and audit events of this
        request. Keep it to open a support ticket.
      in: header
      name: X-Request-Id
      schema:
        format: uuid
        type: string
  schemas:
    OperatingWindow:
      additionalProperties: false
      description: >-
        Effective operating window of a day: the official STR schedule, narrowed
        by the institution cut-off and the holiday calendar. Outside it, send
        requests are refused with `TED-0020`/`TED-0021`.
      properties:
        clientCutoffTime:
          description: >-
            Cut-off configured by the institution (HH:MM, local time). Missing
            when there is no cut-off.
          type: string
        configured:
          description: >-
            true when a stored window configuration (of the organization, or the
            institution default) decided this window; false when no
            configuration exists and the window follows the official STR
            schedule with no cut-off.
          type: boolean
        date:
          description: Calendar day that this window describes (YYYY-MM-DD).
          format: date
          type: string
        effectiveClosesAt:
          description: >-
            Effective close (UTC): the earlier of the official STR close and the
            institution cut-off.
          format: date-time
          type: string
        effectiveOpensAt:
          description: Effective opening of the window in the day (UTC).
          format: date-time
          type: string
        isBusinessDay:
          description: false on a weekend or national holiday.
          type: boolean
        isOpen:
          description: If the window is open at the time of the query.
          type: boolean
        officialClosesAt:
          description: >-
            Official close of the STR (UTC). Missing on a day with no published
            schedule (weekend, holiday).
          format: date-time
          type: string
        source:
          description: >-
            What decided the response: OFFICIAL_SCHEDULE (official schedule),
            OFFICIAL_SCHEDULE_WITH_CUTOFF (schedule narrowed by the cut-off),
            HOLIDAY, or WEEKEND.
          enum:
            - OFFICIAL_SCHEDULE
            - OFFICIAL_SCHEDULE_WITH_CUTOFF
            - HOLIDAY
            - WEEKEND
          type: string
      required:
        - date
        - isBusinessDay
        - isOpen
        - effectiveOpensAt
        - effectiveClosesAt
        - source
        - configured
      type: object
    Detail:
      additionalProperties: true
      description: >-
        Standard error body (RFC 9457, `application/problem+json`) for every
        `/v1` operation. Use `code` (TED-NNNN) to handle the error in code,
        `detail` for the readable message, and `errors` for the invalid fields
        of a 422. The `X-Request-Id` of the response identifies the occurrence
        for support.
      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
      description: >-
        An invalid field inside a validation error: where it is (`location`),
        what is wrong (`message`), and the value received.
      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
      description: >-
        Error reported by an upstream system (ledger or rail), when the service
        chooses to expose it. Absent in most errors.
      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
  headers:
    XRequestId:
      description: >-
        Echo of the request X-Request-Id: the value that the client sent, or the
        UUID that the platform generated when the client sent none. Present in
        every response, success or error.
      schema:
        format: uuid
        type: string
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: >-
        JWT token that the Lerian Access Manager issues for your institution.
        Send it in `Authorization: Bearer <token>` on every call (except the
        public health probes). The tenant never comes from the body, the query,
        or the path. Each operation requires a role with the matching permission
        (see the API overview). Without it, 403 `TED-0071`. Missing, invalid, or
        expired token: 401 `TED-0070`.
      scheme: bearer
      type: http

````

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