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

# Get Payment Delivery Windows

> The delivery timing for one movement at one speed, computed for a payment
created **now** — the same estimate `request-payload` freezes on a reference,
without issuing one. Use it to show today's cutoffs, or whether a same-day
payment made now still goes out today.

- `cutoffs` are the export windows on the day the next submission goes out
  (`next_cutoff.export_day`), earliest first. `open` is true while a payment
  created now still makes that window; `lands_at` is filled where the terms
  say when money submitted in that window lands (same-day windows do).
- `next_cutoff` is the window a payment created now goes out in. `deferred`
  means it had to wait for a later day — created after the last cutoff, or
  on a weekend or bank holiday; a same-day payment created now would be
  queued until `resume_at` and you would be told so on the payment.
- `settlement` is when the money is expected to land, as on the reference.
  `source: unknown` means no terms are declared for this route yet — the
  time is unknown, not instant.

Wall-clock times (`HH:MM`) are US Eastern, the zone banking windows are
published in; every `*_at` is a UTC instant. Pass the same `source_type`,
`destination_type`, `delivery_speed` and corridor fields you will send on
`request-payload`, and the `amount` when you have it — the route, and so
its windows, can depend on it (`100.00` is assumed otherwise). A movement or
speed that cannot be requested is refused exactly as `request-payload`
refuses it.

Nothing here is a promise: the estimate is recomputed the moment the payment
is submitted, and the payment's own events carry the times that apply.



## OpenAPI

````yaml GET /v1/platform/payments/delivery-windows
openapi: 3.1.0
info:
  title: Finogate Platform API v1
  version: 0.1.0
servers:
  - url: https://api-sandbox.finogates.com
    description: Sandbox
  - url: https://api.finogates.com
    description: Production
security: []
tags:
  - name: auth
  - name: users
  - name: payees
  - name: verification
  - name: bank accounts
  - name: card processing
  - name: digital-assets
  - name: international
  - name: fees
  - name: onboarding
  - name: Redirect URLs
  - name: pending-applications
  - name: wallets
  - name: payments
  - name: document mailing
  - name: merchant onboarding
  - name: catalog
  - name: webhooks
  - name: screening
  - name: Platform - File Scanning
  - name: phone-numbers
  - name: sms
  - name: calls
  - name: listings
  - name: Card Transfers
  - name: Accounting
  - name: embed-tokens
paths:
  /v1/platform/payments/delivery-windows:
    get:
      tags:
        - payments
      summary: When a payment made now goes out, and lands
      description: >-
        The delivery timing for one movement at one speed, computed for a
        payment

        created **now** — the same estimate `request-payload` freezes on a
        reference,

        without issuing one. Use it to show today's cutoffs, or whether a
        same-day

        payment made now still goes out today.


        - `cutoffs` are the export windows on the day the next submission goes
        out
          (`next_cutoff.export_day`), earliest first. `open` is true while a payment
          created now still makes that window; `lands_at` is filled where the terms
          say when money submitted in that window lands (same-day windows do).
        - `next_cutoff` is the window a payment created now goes out in.
        `deferred`
          means it had to wait for a later day — created after the last cutoff, or
          on a weekend or bank holiday; a same-day payment created now would be
          queued until `resume_at` and you would be told so on the payment.
        - `settlement` is when the money is expected to land, as on the
        reference.
          `source: unknown` means no terms are declared for this route yet — the
          time is unknown, not instant.

        Wall-clock times (`HH:MM`) are US Eastern, the zone banking windows are

        published in; every `*_at` is a UTC instant. Pass the same
        `source_type`,

        `destination_type`, `delivery_speed` and corridor fields you will send
        on

        `request-payload`, and the `amount` when you have it — the route, and so

        its windows, can depend on it (`100.00` is assumed otherwise). A
        movement or

        speed that cannot be requested is refused exactly as `request-payload`

        refuses it.


        Nothing here is a promise: the estimate is recomputed the moment the
        payment

        is submitted, and the payment's own events carry the times that apply.
      operationId: read_delivery_windows_v1_platform_payments_delivery_windows_get
      parameters:
        - name: source_type
          in: query
          required: true
          schema:
            type: string
            maxLength: 40
            description: As on `request-payload`.
            examples:
              - bank
            title: Source Type
          description: As on `request-payload`.
        - name: destination_type
          in: query
          required: true
          schema:
            type: string
            maxLength: 40
            description: As on `request-payload`.
            examples:
              - wallet
            title: Destination Type
          description: As on `request-payload`.
        - name: delivery_speed
          in: query
          required: false
          schema:
            enum:
              - standard
              - same_day
              - instant
            type: string
            description: The speed to time. Defaults to `standard`.
            default: standard
            title: Delivery Speed
          description: The speed to time. Defaults to `standard`.
        - name: amount
          in: query
          required: false
          schema:
            anyOf:
              - type: number
                exclusiveMinimum: 0
              - type: string
                pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
              - type: 'null'
            description: >-
              The amount you intend to move, in major units. Optional; `100.00`
              is assumed.
            examples:
              - 250
            title: Amount
          description: >-
            The amount you intend to move, in major units. Optional; `100.00` is
            assumed.
        - name: currency
          in: query
          required: false
          schema:
            type: string
            minLength: 3
            maxLength: 3
            description: ISO-4217 code. Defaults to `USD`.
            default: USD
            title: Currency
          description: ISO-4217 code. Defaults to `USD`.
        - name: destination_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 2
                minLength: 2
              - type: 'null'
            description: Required for `bank_international`; ignored otherwise.
            title: Destination Country
          description: Required for `bank_international`; ignored otherwise.
        - name: destination_currency
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 3
                minLength: 3
              - type: 'null'
            description: Required for `bank_international`; ignored otherwise.
            title: Destination Currency
          description: Required for `bank_international`; ignored otherwise.
      responses:
        '200':
          description: Delivery windows
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonResponse'
              example:
                status_code: 200
                data:
                  source_type: bank
                  destination_type: wallet
                  delivery_speed: same_day
                  delivery_speeds_available:
                    - standard
                    - same_day
                  timezone: America/New_York
                  now: '2026-09-18T15:20:00Z'
                  today: '2026-09-18'
                  is_banking_day: true
                  next_banking_day: '2026-09-21'
                  basis: business
                  cutoffs:
                    - cutoff: '10:00'
                      cutoff_at: '2026-09-18T14:00:00Z'
                      open: false
                      lands_at: '2026-09-18T17:00:00Z'
                    - cutoff: '14:00'
                      cutoff_at: '2026-09-18T18:00:00Z'
                      open: true
                      lands_at: '2026-09-18T21:00:00Z'
                    - cutoff: '16:00'
                      cutoff_at: '2026-09-18T20:00:00Z'
                      open: true
                      lands_at: '2026-09-18T22:30:00Z'
                  next_cutoff:
                    export_day: '2026-09-18'
                    cutoff: '14:00'
                    cutoff_at: '2026-09-18T18:00:00Z'
                    deferred: false
                  settlement:
                    speed: same_day
                    source: terms
                    basis: business
                    estimated_at: '2026-09-18T21:00:00Z'
                    latest_at: '2026-09-18T21:00:00Z'
                query_generated_time: 1712847600000
        '403':
          description: product_not_enabled
          content:
            application/json:
              examples:
                product_not_enabled:
                  summary: product_not_enabled (error_code 1105)
                  value:
                    status_code: 403
                    data:
                      detail: >-
                        The product this payment needs is not enabled for your
                        platform.
                      code: product_not_enabled
                      error_code: 1105
                    query_generated_time: 1750000000000
              schema:
                $ref: '#/components/schemas/CodedErrorResponse'
        '422':
          description: >-
            movement_unsupported, speed_not_offered,
            destination_country_required, destination_currency_required,
            payment_not_available
          content:
            application/json:
              examples:
                movement_unsupported:
                  summary: movement_unsupported (error_code 1102)
                  value:
                    status_code: 422
                    data:
                      detail: >-
                        This combination of source_type and destination_type is
                        not available on this endpoint.
                      code: movement_unsupported
                      error_code: 1102
                    query_generated_time: 1750000000000
                speed_not_offered:
                  summary: speed_not_offered (error_code 1116)
                  value:
                    status_code: 422
                    data:
                      detail: >-
                        This payment cannot be delivered at the requested speed.
                        Request it at standard speed, or a speed the movement
                        offers.
                      code: speed_not_offered
                      error_code: 1116
                    query_generated_time: 1750000000000
                destination_country_required:
                  summary: destination_country_required (error_code 1103)
                  value:
                    status_code: 422
                    data:
                      detail: >-
                        destination_country is required when destination_type is
                        bank_international.
                      code: destination_country_required
                      error_code: 1103
                    query_generated_time: 1750000000000
                destination_currency_required:
                  summary: destination_currency_required (error_code 1104)
                  value:
                    status_code: 422
                    data:
                      detail: >-
                        destination_currency is required when destination_type
                        is bank_international.
                      code: destination_currency_required
                      error_code: 1104
                    query_generated_time: 1750000000000
                payment_not_available:
                  summary: payment_not_available (error_code 1106)
                  value:
                    status_code: 422
                    data:
                      detail: >-
                        This payment cannot be carried right now. Check the
                        amount and currency, or try again later.
                      code: payment_not_available
                      error_code: 1106
                    query_generated_time: 1750000000000
              schema:
                $ref: '#/components/schemas/CodedErrorResponse'
        '503':
          description: payment_request_unavailable
          content:
            application/json:
              examples:
                payment_request_unavailable:
                  summary: payment_request_unavailable (error_code 1107)
                  value:
                    status_code: 503
                    data:
                      detail: >-
                        A payment request cannot be prepared for this movement
                        at the moment. Please try again later or contact
                        support.
                      code: payment_request_unavailable
                      error_code: 1107
                    query_generated_time: 1750000000000
              schema:
                $ref: '#/components/schemas/CodedErrorResponse'
      security:
        - _AuthenticatedBearer: []
components:
  schemas:
    CommonResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          title: Data
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CommonResponse
      description: |-
        Standard response wrapper for single-object responses and errors.

        Generic over the payload type. A route that declares
        ``CommonResponse[SomeModel]`` gets the real ``data`` schema rendered in
        OpenAPI/Swagger; a bare ``CommonResponse`` leaves ``data`` untyped.
    CodedErrorResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          $ref: '#/components/schemas/CodedErrorBody'
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CodedErrorResponse
      description: Standard envelope wrapping a :class:`CodedErrorBody`.
    CodedErrorBody:
      properties:
        detail:
          type: string
          title: Detail
          description: Human-readable error message.
        code:
          type: string
          title: Code
          description: Stable string error code — the canonical value to branch on.
        error_code:
          type: integer
          title: Error Code
          description: >-
            Numeric custom error code from the Finogate registry. Unique per
            condition and stable forever.
      type: object
      required:
        - detail
        - code
        - error_code
      title: CodedErrorBody
      description: >-
        The ``data`` payload of a coded-error response.


        Condition-specific extras (e.g. ``remaining_time``) may also appear;
        only

        the always-present fields are typed here.
  securitySchemes:
    _AuthenticatedBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/platform/auth/token

````