---
title: "Create Expected Payment [deprecating Aug 2024]"
method: POST
path: "/expected_payments (legacy)"
---

# Create Expected Payment \[deprecating Aug 2024\]

`POST /expected_payments (legacy)`

## Request

- Base URL: `https://app.moderntreasury.com/api`
- URL: `https://app.moderntreasury.com/api/expected_payments (legacy)`
- Auth: HTTP basic

This is the legacy API for creating Expected Payments, which will be deprecated by Aug 1, 2024. See the latest documentation here: https://docs.moderntreasury.com/platform/reference/create-expected-payment

## Request body

- object
  - `amount_upper_bound` integer, required: Value in specified currency's smallest unit. e.g. $10 would be represented as `1000` (cents), and ¥10 would be represented as `10`.
  - `amount_lower_bound` integer, required: Value in specified currency's smallest unit. e.g. $10 would be represented as `1000` (cents), and ¥10 would be represented as `10`.
  - `direction` string, required
  - `internal_account_id` string, required
  - `type` string
  - `currency` string
  - `date_upper_bound` string, date: Format is YYYY-MM-DD. Default will fallback to date_lower_bound.
  - `date_lower_bound` string, date: Format is YYYY-MM-DD. Default will fallback to date_upper_bound
  - `description` string
  - `statement_descriptor` string
  - `metadata` string, json
  - `line_items` object[]
    - `amount` integer
    - `metadata` string, json
    - `description` string
    - `accounting_category_id` string
  - `counterparty_id` string
  - `remittance_information` string
  - `ledger_transaction` object: Specifies a [ledger transaction](ref:ledger-transaction-object) object that will be created with the expected payment. If the ledger transaction cannot be created, then the expected payment creation will fail. The resulting ledger transaction will mirror the status of the expected payment. See [Linking to other Modern Treasury objects](doc:linking-to-other-modern-treasury-objects).
    - `description` string: An optional free-form description for internal use. Maximum of 1000 characters allowed.
    - `metadata` string, json: Metadata to be added to the ledger transaction. Must be a JSON object.
    - `effective_at` string, date-time: Format: ISO8601 to 6 decimal places. Defaults to time of insertion in the DB if not provided
    - `ledger_entries` object[]
      - `amount` integer, required: Supports any int value up to 10³⁶.
      - `direction` string, required: One of `credit` or `debit`.
      - `ledger_account_id` string, required
      - `lock_version` integer: Lock version of the ledger account. This can be passed when creating a ledger transaction to only succeed if no ledger transactions have posted since the given version. See [this guide](https://docs.moderntreasury.com/docs/handling-concurrency#using-the-lock_version-field) for more details. This will trigger synchronous processing, which imposes an additional rate limit on the API. See [Synchronous Ledger Entry Rate Limiting](https://docs.moderntreasury.com/docs/synchronous-ledger-entry-rate-limiting) for details.
      - `pending_balance_amount` object: Use "gt" (>), "gte" (>=), "'lt" (<), "lte" (<=), or "eq" (=) to lock on the account’s pending balance. If any of these conditions would be false after the transaction is created, the entire call will fail with error code 422. See [this guide](https://docs.moderntreasury.com/docs/handling-concurrency#locking-on-account-balance) for more details. This will trigger synchronous processing, which imposes an additional rate limit on the API. See [Synchronous Ledger Entry Rate Limiting](https://docs.moderntreasury.com/docs/synchronous-ledger-entry-rate-limiting) for details.
        - `lt` integer
        - `lte` integer
        - `eq` integer
        - `gte` integer
        - `gt` integer
        - `not_eq` integer
      - `posted_balance_amount` object: Use "gt" (>), "gte" (>=), "'lt" (<), "lte" (<=), or "eq" (=) to lock on the account’s posted balance. If any of these conditions would be false after the transaction is created, the entire call will fail with error code 422. See [this guide](https://docs.moderntreasury.com/docs/handling-concurrency#locking-on-account-balance) for more details. This will trigger synchronous processing, which imposes an additional rate limit on the API. See [Synchronous Ledger Entry Rate Limiting](https://docs.moderntreasury.com/docs/synchronous-ledger-entry-rate-limiting) for details.
        - `lt` integer
        - `lte` integer
        - `eq` integer
        - `gte` integer
        - `gt` integer
        - `not_eq` integer
      - `available_balance_amount` object: Use "gt" (>), "gte" (>=), "'lt" (<), "lte" (<=), or "eq" (=) to lock on the account’s available balance. If any of these conditions would be false after the transaction is created, the entire call will fail with error code 422. See [this guide](https://docs.moderntreasury.com/docs/handling-concurrency#locking-on-account-balance) for more details. This will trigger synchronous processing, which imposes an additional rate limit on the API. See [Synchronous Ledger Entry Rate Limiting](https://docs.moderntreasury.com/docs/synchronous-ledger-entry-rate-limiting) for details.
        - `lt` integer
        - `lte` integer
        - `eq` integer
        - `gte` integer
        - `gt` integer
        - `not_eq` integer
      - `show_resulting_ledger_account_balances` boolean: If true, response will include the balance of the associated ledger account for the entry and will trigger synchronous processing, which imposes an additional rate limit on the API. See [Synchronous Ledger Entry Rate Limiting](https://docs.moderntreasury.com/docs/synchronous-ledger-entry-rate-limiting) for details.
      - `metadata` string, json

## Changes

- **2026-11-03** `e31c6638c72e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/modern-treasury/apis/modern-treasury-api/changes/expected_payments%20%28legacy%29/post.md)

---

[API](https://skmtc.dev/modern-treasury/apis/modern-treasury-api.md) - [All operations](https://skmtc.dev/modern-treasury/apis/modern-treasury-api/llms.txt) - [OpenAPI document](https://skmtc.dev/modern-treasury/apis/modern-treasury-api/revisions/e31c6638c72e?raw)
