{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/payrix/main/json-schema/payrix-accounts-post-request-schema.json",
"title": "accountsPostRequest",
"description": "A request body for creating new bank account information for one or more entities.",
"x-generated": "2026-09-21",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/payrix-accounts-api-openapi.yml#/components/schemas/accountsPostRequest",
"required": [
"entity",
"account",
"currency"
],
"type": "object",
"properties": {
"entity": {
"type": "string",
"description": "The identifier of the Entity associated with this Account."
},
"account": {
"allOf": [
{
"$ref": "#/$defs/accountsAccount"
},
{
"description": "An object representing details of the Account, including the type of Account (method), Account number, and routing code."
}
]
},
"name": {
"type": "string",
"description": "A client-supplied name for this bank account. \nThis field is stored as a string and must be between 0 and 100 characters long."
},
"description": {
"type": "string",
"description": "A client-supplied description for this bank account. \nThis field is stored as a string and must be between 0 and 100 characters long."
},
"primary": {
"allOf": [
{
"$ref": "#/$defs/accountPrimary"
},
{
"description": "Indicates whether the Account is the primary Account for the associated Entity. \nOnly one Account associated with each Entity can be the primary Account.\n\n\nValid Values
\n\n- `0` - **Not primary**\n- `1` - **Primary**\n\n "
}
]
},
"type": {
"allOf": [
{
"$ref": "#/$defs/accountType"
},
{
"description": "The type of financial account: debit, credit, or both.\n\n\nValid Values
\n\n- `all` - **Debit/checking and credit**\n- `credit` - **Credit only**\n- `debit` - **Debit/checking only**\n\n "
}
]
},
"status": {
"allOf": [
{
"$ref": "#/$defs/accountStatus"
},
{
"description": "The status of the Account.\n\n\nValid Values
\n\n- `0` - **Not Ready.**\n- `1` - **Ready.**\n- `2` - **Challenged.**\n- `3` - **Verified.**\n- `4` - **Manual.**\n\n "
}
]
},
"expiration": {
"type": "string",
"description": "The expiration date of the related debit account. The date is specified as a four-digit string in MMYY format, for example, `0118` for January 2018."
},
"currency": {
"allOf": [
{
"oneOf": [
{},
{
"$ref": "#/$defs/currency"
}
]
},
{
"description": "The currency of this Account. The default is `USD`. See Currency codes for all valid values."
}
]
},
"publicToken": {
"type": "string",
"description": "The token received from the Plaid account connection process."
},
"mask": {
"type": "string",
"description": "The account number mask, showing the last four digits of the account number."
},
"inactive": {
"allOf": [
{
"$ref": "#/$defs/inactive"
},
{
"description": "Whether this resource is marked as inactive.\n\n\nValid Values
\n\n- `0` - **Active**\n- `1` - **Inactive**\n\n "
}
]
},
"frozen": {
"allOf": [
{
"$ref": "#/$defs/frozen"
},
{
"description": "Whether this resource is marked as frozen.\n\n\nValid Values
\n\n- `0` - **Not Frozen**\n- `1` - **Frozen**\n\n "
}
]
},
"payouts": {
"type": "array",
"items": {
"$ref": "#/$defs/payoutPostRequest"
},
"description": ""
}
},
"$defs": {
"accountMethod": {
"title": "accountMethod",
"enum": [
8,
9,
10,
11
],
"type": "integer"
},
"accountPrimary": {
"title": "accountPrimary",
"enum": [
0,
1
],
"type": "integer"
},
"accountStatus": {
"title": "accountStatus",
"enum": [
0,
1,
2,
3,
4
],
"type": "integer"
},
"accountType": {
"title": "accountType",
"enum": [
"all",
"credit",
"debit"
],
"type": "string"
},
"accountsAccount": {
"title": "accountsAccount",
"type": "object",
"properties": {
"method": {
"allOf": [
{
"$ref": "#/$defs/accountMethod"
},
{
"description": "The type of the Account.\n\n\nValid Values
\n\n- `8` - **Checking**\n- `9` - **Savings**\n- `10` - **Corporate Checking**\n- `11` - **Corporate Savings**\n\n "
}
]
},
"number": {
"type": "string",
"description": "The number of the bank account."
},
"routing": {
"type": "string",
"description": "The routing number of the bank account. This field is stored as a text string and must be between 5 and 20 characters long."
}
},
"description": "An object representing details of the Account, including the type of Account (method), Account number, and routing code."
},
"accountsPostRequest": {
"title": "accountsPostRequest",
"required": [
"entity",
"account",
"currency"
],
"type": "object",
"properties": {
"entity": {
"type": "string",
"description": "The identifier of the Entity associated with this Account."
},
"account": {
"allOf": [
{
"$ref": "#/$defs/accountsAccount"
},
{
"description": "An object representing details of the Account, including the type of Account (method), Account number, and routing code."
}
]
},
"name": {
"type": "string",
"description": "A client-supplied name for this bank account. \nThis field is stored as a string and must be between 0 and 100 characters long."
},
"description": {
"type": "string",
"description": "A client-supplied description for this bank account. \nThis field is stored as a string and must be between 0 and 100 characters long."
},
"primary": {
"allOf": [
{
"$ref": "#/$defs/accountPrimary"
},
{
"description": "Indicates whether the Account is the primary Account for the associated Entity. \nOnly one Account associated with each Entity can be the primary Account.\n\n\nValid Values
\n\n- `0` - **Not primary**\n- `1` - **Primary**\n\n "
}
]
},
"type": {
"allOf": [
{
"$ref": "#/$defs/accountType"
},
{
"description": "The type of financial account: debit, credit, or both.\n\n\nValid Values
\n\n- `all` - **Debit/checking and credit**\n- `credit` - **Credit only**\n- `debit` - **Debit/checking only**\n\n "
}
]
},
"status": {
"allOf": [
{
"$ref": "#/$defs/accountStatus"
},
{
"description": "The status of the Account.\n\n\nValid Values
\n\n- `0` - **Not Ready.**\n- `1` - **Ready.**\n- `2` - **Challenged.**\n- `3` - **Verified.**\n- `4` - **Manual.**\n\n "
}
]
},
"expiration": {
"type": "string",
"description": "The expiration date of the related debit account. The date is specified as a four-digit string in MMYY format, for example, `0118` for January 2018."
},
"currency": {
"allOf": [
{
"oneOf": [
{},
{
"$ref": "#/$defs/currency"
}
]
},
{
"description": "The currency of this Account. The default is `USD`. See Currency codes for all valid values."
}
]
},
"publicToken": {
"type": "string",
"description": "The token received from the Plaid account connection process."
},
"mask": {
"type": "string",
"description": "The account number mask, showing the last four digits of the account number."
},
"inactive": {
"allOf": [
{
"$ref": "#/$defs/inactive"
},
{
"description": "Whether this resource is marked as inactive.\n\n\nValid Values
\n\n- `0` - **Active**\n- `1` - **Inactive**\n\n "
}
]
},
"frozen": {
"allOf": [
{
"$ref": "#/$defs/frozen"
},
{
"description": "Whether this resource is marked as frozen.\n\n\nValid Values
\n\n- `0` - **Not Frozen**\n- `1` - **Frozen**\n\n "
}
]
},
"payouts": {
"type": "array",
"items": {
"$ref": "#/$defs/payoutPostRequest"
},
"description": ""
}
},
"description": "A request body for creating new bank account information for one or more entities."
},
"currency": {
"title": "currency",
"enum": [
"AED",
"AFN",
"ALL",
"AMD",
"ANG",
"AOA",
"ARS",
"AUD",
"AWG",
"AZN",
"BAM",
"BBD",
"BDT",
"BGN",
"BHD",
"BIF",
"BMD",
"BND",
"BOB",
"BOV",
"BRL",
"BSD",
"BTN",
"BWP",
"BYN",
"BZD",
"CAD",
"CDF",
"CHE",
"CHF",
"CHW",
"CLF",
"CLP",
"CNY",
"COP",
"COU",
"CRC",
"CUC",
"CUP",
"CVE",
"CZK",
"DJF",
"DKK",
"DOP",
"DZD",
"EGP",
"ERN",
"ETB",
"EUR",
"FJD",
"FKP",
"GBP",
"GEL",
"GHS",
"GIP",
"GMD",
"GNF",
"GTQ",
"GYD",
"HKD",
"HNL",
"HRK",
"HTG",
"HUF",
"IDR",
"ILS",
"INR",
"IQD",
"IRR",
"ISK",
"JMD",
"JOD",
"JPY",
"KES",
"KGS",
"KHR",
"KMF",
"KPW",
"KRW",
"KWD",
"KYD",
"KZT",
"LAK",
"LBP",
"LKR",
"LRD",
"LSL",
"LYD",
"MAD",
"MDL",
"MGA",
"MKD",
"MMK",
"MNT",
"MOP",
"MRU",
"MUR",
"MVR",
"MWK",
"MXN",
"MXV",
"MYR",
"MZN",
"NAD",
"NGN",
"NIO",
"NOK",
"NPR",
"NZD",
"OMR",
"PAB",
"PEN",
"PGK",
"PHP",
"PKR",
"PLN",
"PYG",
"QAR",
"RON",
"RSD",
"RUB",
"RWF",
"SAR",
"SBD",
"SCR",
"SDG",
"SEK",
"SGD",
"SHP",
"SLL",
"SOS",
"SRD",
"SSP",
"STN",
"SVC",
"SYP",
"SZL",
"THB",
"TJS",
"TMT",
"TND",
"TOP",
"TRY",
"TTD",
"TWD",
"TZS",
"UAH",
"UGX",
"USD",
"USN",
"UYI",
"UYU",
"UZS",
"VEF",
"VND",
"VUV",
"WST",
"XAF",
"XAG",
"XAU",
"XBA",
"XBB",
"XBC",
"XBD",
"XCD",
"XDR",
"XOF",
"XPD",
"XPF",
"XPT",
"XSU",
"XUA",
"YER",
"ZAR",
"ZMW",
"ZWL"
],
"type": "string"
},
"frozen": {
"title": "frozen",
"enum": [
0,
1
],
"type": "integer"
},
"inactive": {
"title": "inactive",
"enum": [
0,
1
],
"type": "integer"
},
"payoutFlowsSameDay": {
"title": "payoutFlowsSameDay",
"enum": [
0,
1
],
"type": "integer"
},
"payoutFlowsSkipOffDays": {
"title": "payoutFlowsSkipOffDays",
"enum": [
0,
1
],
"type": "integer"
},
"payoutPostRequest": {
"title": "payoutPostRequest",
"required": [
"account",
"entity",
"schedule",
"start",
"um",
"amount",
"skipOffDays"
],
"type": "object",
"properties": {
"login": {
"type": "string",
"description": "The Login that owns this resource."
},
"account": {
"allOf": [
{
"$ref": "#/$defs/payoutsPostRequestModelAccount"
},
{
"description": "The token of the Account that this Payout is associated with. \nThis account will either receive the funds or be debited for the funds every time a Disbursement occurs, depending on the direction of the Disbursement."
}
]
},
"entity": {
"type": "string",
"description": "The identifier of the Entity that this Payout is associated with."
},
"billing": {
"type": "string",
"description": "The identifier of a Billing that this Payout is associated with. Payout associated with a Billing record will be used to pay for Statements."
},
"payoutFlow": {
"type": "string",
"description": "The identifier of the PayoutFlow associated with this Payout."
},
"name": {
"type": "string",
"description": "The name of this Payout. \nThis field is stored as a text string and must be between 0 and 100 characters long."
},
"description": {
"type": "string",
"description": "A description of this Payout. \nThis field is stored as a text string and must be between 0 and 100 characters long."
},
"schedule": {
"allOf": [
{
"$ref": "#/$defs/payoutSchedule"
},
{
"description": "The schedule that determines when the Payout resource that is created should be triggered to be paid.\n\n\nValid Values
\n\n- `1` - **Daily.** The Payout is paid every day.\n- `2` - **Weekly.** The Payout is paid every week.\n- `3` - **Monthly.** The Payout is paid every month.\n- `4` - **Annually.** The Payout is paid every year.\n- `5` - **Single.** The Payout is a one-off payment.\n\n "
}
]
},
"scheduleFactor": {
"type": "integer",
"description": "A multiplier that you can use to adjust the schedule set in the 'schedule' field, if it is set to a duration-based trigger, such as daily, weekly, monthly, or annually. \nThis field is specified as an integer and its value determines how the interval is multiplied.",
"contentEncoding": "int32",
"default": 1
},
"start": {
"type": "integer",
"description": "The date on which payment of the Payout should start. \nThe date is specified as an eight digit string in YYYYMMDD format, for example, '20160120' for January 20, 2016. \nThe value of this field must represent a date in the future, or the present date.",
"contentEncoding": "int32"
},
"currency": {
"allOf": [
{
"oneOf": [
{},
{
"$ref": "#/$defs/currency"
}
]
},
{
"description": "The currency of the amount in this Payout. \\nThis field is only required when Um is set to ACTUAL.\\nIf this field is not set we will process disbursements for all currencies. See Currency codes for all valid values."
}
]
},
"um": {
"allOf": [
{
"$ref": "#/$defs/payoutUm"
},
{
"description": "The unit of measure for this Payout is the percentage of funds. \nIf the Entity has a negative balance of $10 and the amount is set to 10000 (100%), \nthen $10 will be drawn from their account to fully replenish the balance to $0.\n\n\nValid Values
\n\n- `1` - **Percentage unit measurement.** (Percentage of Funds).\n- `2` - **Actual unit measurement.** (Exact Currency Amount).\n- `3` - **Negative Percentage unit measurement.** (Replenish account by percent negative back to $0).\n\n "
}
]
},
"amount": {
"type": "integer",
"description": "The total amount of this Payout. \nThe units used in this field are determined by the value of the 'um' field on the Payout. If the 'um' field is set to '1' or '3', then this field specifies the Payout percentage to levy in basis points. If the 'um' field is set to '2', then this field specifies the Payout in cents.",
"contentEncoding": "int64"
},
"minimum": {
"type": "integer",
"description": "The threshold that will ensure no disbursement is generated if it doesn't reach the minimum value.",
"contentEncoding": "int64"
},
"maximum": {
"type": "integer",
"description": "The maximum threshold for a disbursement. Any amount in a disbursement exceeding this value will not be released, and will roll over to the next disbursement.",
"contentEncoding": "int64"
},
"float": {
"type": "integer",
"description": "An optional field indicating the minimum balance you want to maintain, despite any Payouts occurring. If the Payout would reduce the balance to below this value, then it is not processed. \nThis field is specified as an integer in cents. \nFor example, a float value of 1000 would ensure that a balance of 10 USD is maintained at all times.",
"contentEncoding": "int64",
"default": 0
},
"secondaryDescriptor": {
"type": "string",
"description": "The secondary billing descriptor to appear on the bank statements for the payout."
},
"skipOffDays": {
"allOf": [
{
"$ref": "#/$defs/payoutFlowsSkipOffDays"
},
{
"description": "Whether the Payout resource will be marked to skip the creation of disbursements on holidays and weekends.\n\n\nValid Values
\n\n- `0` - **Do not skip Holidays and Weekends.** Disbursement will be generated in a Requested status and process the next business day.\n- `1` - **Skip Holidays and Weekends.** IMPORTANT: We do not advise setting this for weekly, monthly, or yearly Payout schedules as the disbursement will skip and not be generated until the next scheduled date.\n\n "
}
]
},
"sameDay": {
"allOf": [
{
"$ref": "#/$defs/payoutFlowsSameDay"
},
{
"description": "Whether the payout workflow allows for same day payouts.\n\n\nValid Values
\n\n- `0` - **Disabled**\n- `1` - **Enabled**\n\n "
}
]
},
"inactive": {
"allOf": [
{
"$ref": "#/$defs/inactive"
},
{
"description": "Whether this resource is marked as inactive.\n\n\nValid Values
\n\n- `0` - **Active**\n- `1` - **Inactive**\n\n "
}
]
},
"frozen": {
"allOf": [
{
"$ref": "#/$defs/frozen"
},
{
"description": "Whether this resource is marked as frozen.\n\n\nValid Values
\n\n- `0` - **Not Frozen**\n- `1` - **Frozen**\n\n "
}
]
}
}
},
"payoutSchedule": {
"title": "payoutSchedule",
"enum": [
1,
2,
3,
4,
5
],
"type": "integer"
},
"payoutUm": {
"title": "payoutUm",
"enum": [
1,
2,
3
],
"type": "integer"
},
"payoutsPostRequestModelAccount": {
"anyOf": [
{
"type": "string"
},
{
"allOf": [
{
"$ref": "#/$defs/accountsPostRequest"
},
{}
]
}
],
"description": "The token of the Account that this Payout is associated with. \nThis account will either receive the funds or be debited for the funds every time a Disbursement occurs, depending on the direction of the Disbursement."
}
}
}