Modern Treasury · Schema

payment_flow

FintechPaymentsACHWiresTreasury

Properties

Name Type Description
id string
object string
live_mode boolean This field will be true if this object exists in the live environment or false if it exists in the test environment.
created_at string
updated_at string
client_token string The client token of the payment flow. This token can be used to embed a payment workflow in your client-side application.
status string The current status of the payment flow. One of `pending`, `completed`, `expired`, or `cancelled`.
amount integer Value in specified currency's smallest unit. e.g. $10 would be represented as 1000. Can be any integer up to 36 digits.
currency string The currency of the payment.
direction string Describes the direction money is flowing in the transaction. Can only be `debit`. A `debit` pulls money from someone else's account to your own.
counterparty_id string The ID of a counterparty associated with the payment. As part of the payment workflow an external account will be associated with this counterparty.
receiving_account_id string If present, the ID of the external account created using this flow.
originating_account_id string The ID of one of your organization's internal accounts.
payment_order_id string If present, the ID of the payment order created using this flow.
effective_date_selection_enabled boolean When `true`, your end-user can schedule the payment `effective_date` while completing the pre-built UI.
due_date string The due date for the flow. Can only be passed in when `effective_date_selection_enabled` is `true`.
selected_effective_date string This field is set after your end-user selects a payment date while completing the pre-built UI. This field is always `null` unless `effective_date_selection_enabled` is `true`.
external_account_collection string When `enabled`, your end-user can select from an existing external account when completing the flow. When `disabled`, your end-user must add new payment details when completing the flow.
existing_external_accounts_filter string When `verified` and `external_account_collection` is `enabled`, filters the list of external accounts your end-user can select to those with a `verification_status` of `verified`.
View JSON Schema on GitHub

JSON Schema

modern-treasury-payment-flow-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/payment_flow",
  "title": "payment_flow",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "object": {
      "type": "string"
    },
    "live_mode": {
      "type": "boolean",
      "description": "This field will be true if this object exists in the live environment or false if it exists in the test environment."
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "client_token": {
      "type": "string",
      "description": "The client token of the payment flow. This token can be used to embed a payment workflow in your client-side application."
    },
    "status": {
      "type": "string",
      "enum": [
        "cancelled",
        "completed",
        "expired",
        "pending"
      ],
      "description": "The current status of the payment flow. One of `pending`, `completed`, `expired`, or `cancelled`."
    },
    "amount": {
      "type": "integer",
      "description": "Value in specified currency's smallest unit. e.g. $10 would be represented as 1000. Can be any integer up to 36 digits."
    },
    "currency": {
      "type": "string",
      "description": "The currency of the payment."
    },
    "direction": {
      "type": "string",
      "enum": [
        "credit",
        "debit"
      ],
      "description": "Describes the direction money is flowing in the transaction. Can only be `debit`. A `debit` pulls money from someone else's account to your own."
    },
    "counterparty_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of a counterparty associated with the payment. As part of the payment workflow an external account will be associated with this counterparty."
    },
    "receiving_account_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "If present, the ID of the external account created using this flow."
    },
    "originating_account_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "The ID of one of your organization's internal accounts."
    },
    "payment_order_id": {
      "type": "string",
      "format": "uuid",
      "nullable": true,
      "description": "If present, the ID of the payment order created using this flow."
    },
    "effective_date_selection_enabled": {
      "type": "boolean",
      "description": "When `true`, your end-user can schedule the payment `effective_date` while completing the pre-built UI."
    },
    "due_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "description": "The due date for the flow. Can only be passed in when `effective_date_selection_enabled` is `true`."
    },
    "selected_effective_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "description": "This field is set after your end-user selects a payment date while completing the pre-built UI. This field is always `null` unless `effective_date_selection_enabled` is `true`."
    },
    "external_account_collection": {
      "type": "string",
      "enum": [
        "disabled",
        "enabled"
      ],
      "description": "When `enabled`, your end-user can select from an existing external account when completing the flow. When `disabled`, your end-user must add new payment details when completing the flow."
    },
    "existing_external_accounts_filter": {
      "type": "string",
      "enum": [
        "verified"
      ],
      "nullable": true,
      "description": "When `verified` and `external_account_collection` is `enabled`, filters the list of external accounts your end-user can select to those with a `verification_status` of `verified`."
    }
  },
  "additionalProperties": false,
  "minProperties": 17,
  "maxProperties": 19
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/modern-treasury-payment-flow"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.