Creates a payment from one of the entity’s internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.
Required unique key (UUID recommended) that makes payment creation safe to retry by replaying the original response; retained 24h per partner, omitting it returns 400.
Maximum string length: 255
Melio-Sonar-Token
string
Signed MelioSonar session token from the initiating device, used for risk evaluation; invalid or expired tokens return 400 INVALID_SONAR_TOKEN.
Melio-Entity-Id
string
required
Entity the request operates on — an entity id (ent_<uuid>) or me (the partner's sole entity).
Body
application/json
Option 1
Option 2
Which payload applies follows from deliveryPreference: the two international-fx values take CreateFxPaymentRequest, every other value takes CreateUsdPaymentRequest.
amount
integer
required
Minor units of the currency the counterparty is paid in — the amount they receive. For a converted payment (CreateFxPaymentRequest) that is the foreign amount, and the entity is debited the equivalent in USD at the applied rate.
originatingAccountId
string
required
Internal originating account id (acct_), the debit account
receivingAccountId
string
required
External receiving account id (acct_), the credit account
deductionDate
string<date>
required
deliveryPreference
enum<string>
required
Required, and explicit about the receiving rail and delivery speed.
The preference's rail must match the receiving external account, otherwise the
request is rejected with 400.
With a bank (ACH) originating account, funds are collected before they are
delivered (the good-funds model): the standard values deliver at the rail's normal
speed, and the faster variants are subject to a per-payment eligibility check — an
ineligible fast variant is rejected with 400 (never silently downgraded).
With a card originating account, the collect is immediate, so ACH and wire payments
already deliver at the fast speed: use same-day-ach (not standard-ach) and
instant-domestic-wire (not domestic-wire) — the superseded standard values are
rejected with 400, and no eligibility check applies to these two. Check values
are unchanged, and virtual-card receiving accounts cannot be paid from a card
originating account.
counterparty-choice is the only value for a counterparty-choice receiving
account: the counterparty picks the rail when they provide their details, and the
payment then reports that rail's normal-speed preference.
Available options:
standard-ach,
same-day-ach,
rtp,
standard-check,
express-check,
overnight-check,
domestic-wire,
instant-domestic-wire,
virtual-card,
instant-virtual-card,
counterparty-choice,
international-gusd
compliance
object
required
Compliance details, discriminated by type. Only goods-and-services is supported today; other payment types may add their own variants with different fields.
Hide child attributes
compliance.type
enum<string>
required
Available options:
goods-and-services
compliance.goodsReceived
boolean
The payer confirms the goods or services were received. Required to be true only for card-originated payments above $3,000 (amount greater than 300000 minor units). Not required for non-card payments or for amounts at or below the threshold.
compliance.card
object
Compliance details the card networks require about the counterparty. Required, with all of its fields, when the originating account is a card; ignored for every other originating account type.
Hide child attributes
compliance.card.merchantCategoryCode
string
required
The counterparty's 4-digit MCC (merchant category code).
Pattern: ^\d{4}$
compliance.card.merchantAddress
object
The counterparty's business address. Required for card-originated payments, the same as the MCC. Saved on the counterparty, so the most recent payment's address is the one held on record.
Hide child attributes
compliance.card.merchantAddress.line1
string
required
Street address. Must not be a PO box for the business (physical) address.
compliance.card.merchantAddress.city
string
required
compliance.card.merchantAddress.state
string
required
Two-letter US state or territory code (e.g. NY, CA). Must be a recognized USPS abbreviation.
Pattern: ^[A-Za-z]{2}$
compliance.card.merchantAddress.postalCode
string
required
US ZIP code, 5 or 9 digits, with or without a hyphen before the last 4 (e.g. 10118, 10118-1234).
Pattern: ^\d{5}(-?\d{4})?$
compliance.card.merchantAddress.line2
string
compliance.card.merchantAddress.aptNumber
string
compliance.card.merchantAddress.countryCode
enum<string>
default:US
Available options:
US
currency
string
default:USD
The currency the counterparty is paid in, which must match the receiving account's. USD for every domestic rail and for international-gusd, where it is the default and safe to omit; on CreateFxPaymentRequest it is required and must be the account's own currency. A mismatch — including USD against an international-fx account, which is never dollar-denominated — is rejected with 400 VALIDATION_ERROR.
attachmentId
string
A supporting document for this payment, from POST /attachments (att_<id>).
Some international destinations will not accept a payment without one — the provider decides which, based on the destination country's risk rating, and the requirement can also depend on whether you have paid that counterparty before. When it applies and no attachmentId is given, the payment is rejected with 400 ATTACHMENT_REQUIRED; upload the document and retry. Sending one where it is not required is always accepted.
The document is attached at creation, so it cannot be added or replaced with PATCH /payments/{paymentId}. The attachment must belong to the same entity as the payment, otherwise the request is rejected with 404.
Example:
"att_9f8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"
noteToSelf
string
Payer-private memo, never shown to the recipient
noteToRecipient
string
Note shown to the payment recipient
externalId
string
Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.
Maximum string length: 255
Pattern: ^[A-Za-z0-9_-]+$
metadata
object
Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 500 keys; each key 1 to 40 chars and may not contain square brackets ([], reserved for the metadata[key] filter); value ≤100 chars. The whole object must serialize to at most 128KB of JSON. Filterable via metadata[key].
Hide child attributes
metadata.{key}
string
Maximum string length: 100
Response
Payment created.
deliveryPreference
enum<string>
required
Effective delivery preference. Reflects the faster variant when one was applied, otherwise the receiving rail's normal-speed value. Card-funded ACH and wire payments always report the fast name (same-day-ach / instant-domestic-wire) — a card collect is immediate, so those payments deliver at the fast speed.
Available options:
standard-ach,
same-day-ach,
rtp,
standard-check,
express-check,
overnight-check,
domestic-wire,
instant-domestic-wire,
virtual-card,
instant-virtual-card,
counterparty-choice,
international-fx,
fast-international-fx,
international-gusd
fees
object[]
required
The fees charged for this payment. Includes both the originator-side and receiver-side fees; use chargeTo on each item to tell them apart. Always present — an empty array when no fees have been recorded yet (e.g. a freshly created payment). Receiver-side fees appear when the receiver upgraded the payment (see receiverUpgrade): rtp and same-day-ach are netted — deducted from the amount the receiver is paid. An instant-virtual-card upgrade carries no fee.
Hide child attributes
fees.type
enum<string>
required
What the fee is for. Delivery-method fees use the delivery preference they apply to (standard-ach, same-day-ach, rtp, standard-check, express-check, overnight-check, domestic-wire, instant-domestic-wire, counterparty-choice, international-fx, fast-international-fx, international-gusd); funding-source fees use the funding-source type (card).
Available options:
standard-ach,
same-day-ach,
rtp,
standard-check,
express-check,
overnight-check,
domestic-wire,
instant-domestic-wire,
counterparty-choice,
international-fx,
fast-international-fx,
international-gusd,
card
fees.chargeTo
enum<string>
required
Which side of the payment the fee is levied on: the account originating the payment or the account receiving it. Works for both estimated (calculator) and applied (payment) fees.
Available options:
originator,
receiver
fees.status
enum<string>
required
Whether the fee has been charged or is still pending.
Available options:
charged,
pending
fees.fixed
object
Present when the fee is a flat amount.
Hide child attributes
fees.fixed.value
integer
Flat fee, minor units (cents)
fees.percent
object
Present when the fee is a percentage of the payment amount.
Hide child attributes
fees.percent.rate
number
Percentage rate (e.g. 2.9 = 2.9%)
fees.percent.min
integer
Minimum fee, minor units (cents)
fees.percent.max
integer
Maximum fee, minor units (cents)
fees.amount
integer
The resolved fee for the requested payment amount, in minor units (cents). Absent only when the fee cannot be resolved without a per-payment quote (e.g. tiered pricing).
id
string
Opaque payment id (pay_)
externalId
string
Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.
Maximum string length: 255
Pattern: ^[A-Za-z0-9_-]+$
amount
integer
currency
string
originatingAccountId
string
Internal originating account id (acct_)
receivingAccountId
string
External receiving account id (acct_)
deductionDate
string<date>
deliveryDate
string<date>
status
enum<string>
While a payment is being reviewed it is reported as scheduled; there is no separate review status.
Available options:
scheduled,
in-progress,
completed,
failed,
canceled
failureReason
object
Why a payment failed. Present only when status is failed, and absent otherwise.
Codes are named after the industry code that produced them - the NACHA return code for an ACH return (R02_ACCOUNT_CLOSED), CARD_ for an ISO 8583 card decline - so a code can be matched against a bank return without a translation table. Failures with no industry code behind them (a returned check, a risk decision) carry a descriptive name instead.
type says which leg of the payment failed, so the same code serves both legs: R02_ACCOUNT_CLOSED under failed-to-collect refers to the payer's account, and under failed-to-deliver to the recipient's. Always read code together with type.
message is human-readable and may be reworded at any time, so do not parse or match on it. New code values may be added within an existing type, so treat an unrecognized code as the generic code for its type (COLLECTION_FAILED, DELIVERY_FAILED or RISK_DECLINED) rather than as an error.
Hide child attributes
failureReason.type
enum<string>
required
Which leg of the payment failed.
failed-to-collect - the funds could not be debited from the originating account, so no money left the payer. Typically fixable by the payer (top up the account, fix the bank details) and then re-creating the payment.
failed-to-deliver - the funds were collected but could not be credited to the receiving account, and are returned to the payer. Usually needs corrected recipient details before re-creating the payment.
risk-declined - the payment was declined in review before any money moved.
Available options:
failed-to-collect,
failed-to-deliver,
risk-declined
failureReason.code
enum<string>
required
Stable, machine-readable failure code, named after the industry code behind it.
NACHA return codes (R##_*) can appear under failed-to-collect or failed-to-deliver; type says which account the code refers to.
Card declines (CARD_*) are ISO 8583 issuer responses and appear only under failed-to-collect, since only the payer funds a payment with a card.
Delivery outcomes (CHECK_RETURNED, VIRTUAL_CARD_EXPIRED, CANCELED_BY_RECIPIENT, RECIPIENT_DETAILS_NOT_PROVIDED) have no industry code behind them and appear only under failed-to-deliver.
Risk codes (VERIFICATION_FAILED, UNSUPPORTED_BUSINESS_TYPE, UNSUPPORTED_LOCATION, PAYMENT_NOT_ALLOWED, DUPLICATE_PAYMENT_DETECTED, RISK_DECLINED) appear only under risk-declined. Declines are reported as the bare RISK_DECLINED whenever the underlying reason cannot be disclosed, so it does not imply the reason is unknown.
Available options:
R01_INSUFFICIENT_FUNDS,
R02_ACCOUNT_CLOSED,
R03_NO_ACCOUNT,
R04_INVALID_ACCOUNT_NUMBER,
R05_UNAUTHORIZED_DEBIT,
R08_PAYMENT_STOPPED,
R09_UNCOLLECTED_FUNDS,
R10_NOT_AUTHORIZED,
R13_INVALID_ROUTING_NUMBER,
R16_ACCOUNT_FROZEN,
R20_NON_TRANSACTION_ACCOUNT,
R23_CREDIT_REFUSED,
R29_CORPORATE_NOT_AUTHORIZED,
R84_CREDIT_EXCEPTION,
CARD_DO_NOT_HONOR,
CARD_INVALID_TRANSACTION,
CARD_INSUFFICIENT_FUNDS,
CARD_LIMIT_EXCEEDED,
CARD_BALANCE_UNAVAILABLE,
CHECK_RETURNED,
VIRTUAL_CARD_EXPIRED,
CANCELED_BY_RECIPIENT,
RECIPIENT_DETAILS_NOT_PROVIDED,
VERIFICATION_FAILED,
UNSUPPORTED_BUSINESS_TYPE,
UNSUPPORTED_LOCATION,
PAYMENT_NOT_ALLOWED,
DUPLICATE_PAYMENT_DETECTED,
RISK_DECLINED,
COLLECTION_FAILED,
DELIVERY_FAILED
failureReason.message
string
required
Human-readable explanation of the failure. Display-only; do not match on it.
Example:
{ "type": "failed-to-collect", "code": "R01_INSUFFICIENT_FUNDS", "message": "The account had insufficient funds to cover the payment." }
noteToSelf
string
Payer-private memo, never shown to the recipient
noteToRecipient
string
Note shown to the payment recipient
metadata
object
Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 500 keys; each key 1 to 40 chars and may not contain square brackets ([], reserved for the metadata[key] filter); value ≤100 chars. The whole object must serialize to at most 128KB of JSON. Filterable via metadata[key].
Hide child attributes
metadata.{key}
string
Maximum string length: 100
tracking
object
Delivery tracking for the payment, discriminated by type. Appears once the rail has actually reported something — absent for wire and virtual-card payments, which report nothing, and for payments whose delivery has not reached the rail yet (a scheduled payment never carries it). A present object always holds at least one identifier or timestamp; the remaining fields fill in as the delivery progresses, so treat each of them as optional.
Option 1
Option 2
Hide child attributes
tracking.type
enum<string>
required
Available options:
ach
tracking.traceNumber
string
The ACH trace number of the delivery transfer, as reported by the network — the RTP root id for an RTP delivery. Absent until the transfer has been submitted.
tracking.sentAt
string<date-time>
When the delivery transfer was submitted to the network.
tracking.clearedAt
string<date-time>
When the delivery transfer settled at the receiving bank.
receiverUpgrade
object
Present when the receiving party upgraded the payment from the payment notification Melio sent them. The upgrade itself is the payment's deliveryPreference (rtp, same-day-ach or instant-virtual-card) and receivingAccountId; the upgradedFrom* fields hold what you originally chose. A speed upgrade (rtp, same-day-ach) keeps the receiving account; the others move the payment to an account the receiver added (a bank account in place of a check, or a virtual card). The receiver pays for the upgrade — see the receiver-side entries in fees. An upgraded payment can no longer be updated (409 PAYMENT_UPGRADED_BY_RECEIVER).
Hide child attributes
receiverUpgrade.upgradedFromDeliveryPreference
enum<string>
required
The normal-speed delivery preference of the receiving account you chose, named as in deliveryPreference (e.g. standard-ach, standard-check, or same-day-ach for a card-funded payment).
Available options:
standard-ach,
same-day-ach,
rtp,
standard-check,
express-check,
overnight-check,
domestic-wire,
instant-domestic-wire,
virtual-card,
instant-virtual-card,
counterparty-choice,
international-fx,
fast-international-fx,
international-gusd
receiverUpgrade.upgradedFromReceivingAccountId
string
required
The receiving account you chose (acct_). Equal to receivingAccountId when the upgrade kept it.
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Melio Payouts API","colors":{"primary":"#7849ff","light":"#b79eff","dark":"#5f33e6"},"logo":{"light":"https://mintcdn.com/melio/xvWXKzlr8EBNoRDW/images/melio-wordmark.svg?fit=max\u0026auto=format\u0026n=xvWXKzlr8EBNoRDW\u0026q=85\u0026s=64c5b00a44de83a5745e570ecf3d0fc2","dark":"https://mintcdn.com/melio/-5UmKJJuHDVMiDrl/images/melio-wordmark-invert.svg?fit=max\u0026auto=format\u0026n=-5UmKJJuHDVMiDrl\u0026q=85\u0026s=d39c348234f65d6b306ccd6084ebbc01","href":"https://melio.com/"},"favicon":{"light":"https://mintcdn.com/melio/J5BJFv_c5fQarBeJ/images/cropped-Melio_favicon_01-64x64.webp?fit=max\u0026auto=format\u0026n=J5BJFv_c5fQarBeJ\u0026q=85\u0026s=9f502b845554081800303c51cbf82a7c","dark":"https://mintcdn.com/melio/J5BJFv_c5fQarBeJ/images/cropped-Melio_favicon_01-64x64.webp?fit=max\u0026auto=format\u0026n=J5BJFv_c5fQarBeJ\u0026q=85\u0026s=9f502b845554081800303c51cbf82a7c"},"api":{"openapi":"openapi.json","params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"all","languages":["typescript","python","curl","java","ruby","go"],"prefill":true,"autogenerate":true},"url":"full","mdx":{"auth":{"method":"basic","name":"api-key"},"server":["https://api.staging01.melio.com","https://api.melio.com"]}},"background":{"color":{"dark":"#262D38"}},"navbar":{"links":[{"href":"https://developers.melio.com/contact","label":"Contact us"},{"href":"https://developers.melio.com/sign-in","label":"Log in"}],"primary":{"type":"button","label":"Sign up for beta","href":"https://developers.melio.com/sign-up"}},"seo":{"indexing":"navigable"},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"integrations":{"segment":{"key":"EJ3N2VRhwnd0eFx5CFt1BobojP0OF4GS"}},"markdown":{"schema":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"melio","hasAudioNarration":false,"actualSubdomain":"melio","customDomains":["developers.melio.com"],"gitSource":{"type":"github","owner":"melio","repo":"payouts-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae0ec738cfebfdf07ee030c"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af47aa92d65da0928c63ec7","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Documentation","count":32},{"language":"default","tag":"API Reference","count":24},{"language":"default","tag":"Tools","count":10},{"language":"default","tag":"Building with the API","count":8},{"language":"default","tag":"Entities","count":7},{"language":"default","tag":"Core resources","count":6},{"language":"default","tag":"Risk, compliance \u0026 going live","count":6},{"language":"default","tag":"Accounts","count":6},{"language":"default","tag":"Payments","count":6},{"language":"default","tag":"Get started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".sidebar-group-header{font-size:0.9rem!important;font-weight:500!important;letter-spacing:0.01em}#page-title{font-size:2rem;line-height:1.25}#header .eyebrow{font-size:0.7rem!important}#header .prose{font-size:1rem!important}"}],"page":{"pagePath":"api-reference/payments/create-a-payment","slug":"/api-reference/payments/create-a-payment","pageMetadata":{"title":"Create a payment","description":"Creates a payment from one of the entity's internal accounts to one of its external accounts. An `Idempotency-Key` header is required so the request is safe to retry.\n","deprecated":null,"version":null,"openapi":"/openapi.json post /payments","href":"/api-reference/payments/create-a-payment","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates a payment from one of the entity’s internal accounts to one of its external accounts. An \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" header is required so the request is safe to retry.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a payment","description":"Creates a payment from one of the entity's internal accounts to one of its external accounts. An `Idempotency-Key` header is required so the request is safe to retry.\n","deprecated":null,"version":null,"openapi":"/openapi.json post /payments","href":"/api-reference/payments/create-a-payment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Payments"],"summary":"Create a payment","description":"Creates a payment from one of the entity's internal accounts to one of its external accounts. An `Idempotency-Key` header is required so the request is safe to retry.\n","security":["91313546-b52e-442a-8ba9-362bdb749f96"],"parameters":["49656e1d-506b-462a-8542-302f99689be3","fdb509ad-b68e-42b2-b8bc-cc4aaa7c6b9e"],"requestBody":"12b911a8-afca-4a2d-b51a-89e7e5c7e871","responses":{"201":"4d067700-fbe7-4e0d-88f7-a20074482db6","400":"ffadd50f-a5a0-43b4-87bd-b6440646126e","403":"47f80cc2-a368-429c-9a2b-7295e8cbee06","404":"26ffb115-3684-4833-b146-7d6eb244d936","409":"a91cf975-4347-4704-8783-13ff61cefa2c"},"method":"post","type":"path","servers":["11023ec5-d3f9-4571-b97f-e305433ac479","a9b4dcdc-ad19-4ca1-80f3-760819968e97"],"path":"/payments","baseUrlOptions":["https://api.melio.com/v2","https://api.staging01.melio.com/v2"],"title":"Create a payment","codeSamples":[],"requestExampleLanguages":["typescript","python","bash","java","ruby","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.oneOf.0.amount":125000,"body.oneOf.0.originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","body.oneOf.0.receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","body.oneOf.0.deductionDate":"2026-07-10","body.oneOf.0.deliveryPreference":"standard-ach","body.oneOf.0.compliance.type":"goods-and-services","body.oneOf.0.currency":"USD","body.oneOf.0.noteToRecipient":"July materials order","body.oneOf.0.externalId":"invoice-2043","body.oneOf.0.metadata.invoiceId":"INV-2043","body.oneOf.0.metadata.department":"operations"},{"body.oneOf.0.amount":125000,"body.oneOf.0.originatingAccountId":"acct_5c1f0e88-2d1b-4a6a-9f3e-8a4b6c2d1e0f","body.oneOf.0.receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","body.oneOf.0.deductionDate":"2026-07-10","body.oneOf.0.deliveryPreference":"same-day-ach","body.oneOf.0.compliance.type":"goods-and-services","body.oneOf.0.compliance.goodsReceived":true,"body.oneOf.0.compliance.card.merchantCategoryCode":"5045","body.oneOf.0.compliance.card.merchantAddress.line1":"350 5th Ave","body.oneOf.0.compliance.card.merchantAddress.city":"New York","body.oneOf.0.compliance.card.merchantAddress.state":"NY","body.oneOf.0.compliance.card.merchantAddress.postalCode":"10118","body.oneOf.0.currency":"USD","body.oneOf.0.noteToRecipient":"July materials order","body.oneOf.0.externalId":"invoice-2044"},{"body.oneOf.1.amount":100000,"body.oneOf.1.originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","body.oneOf.1.receivingAccountId":"acct_7d4e2a10-6c93-4f57-b8a1-2e5f0c9d4b3a","body.oneOf.1.deductionDate":"2026-07-10","body.oneOf.1.currency":"EUR","body.oneOf.1.deliveryPreference":"international-fx","body.oneOf.1.compliance.type":"goods-and-services","body.oneOf.1.compliance.purpose":"payment for consulting services","body.oneOf.1.attachmentId":"att_9f8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d","body.oneOf.1.noteToRecipient":"Q3 design retainer","body.oneOf.1.externalId":"invoice-2045","body.oneOf.1.metadata.invoiceId":"INV-2045","body.oneOf.1.fxQuoteToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwMDAwMH0.6bJ0kQ"},{"body.oneOf.1.amount":100000,"body.oneOf.1.originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","body.oneOf.1.receivingAccountId":"acct_7d4e2a10-6c93-4f57-b8a1-2e5f0c9d4b3a","body.oneOf.1.deductionDate":"2026-07-10","body.oneOf.1.currency":"EUR","body.oneOf.1.deliveryPreference":"international-fx","body.oneOf.1.compliance.type":"goods-and-services","body.oneOf.1.compliance.purpose":"payment for consulting services","body.oneOf.1.externalId":"invoice-2046"},{"body.oneOf.1.amount":850000,"body.oneOf.1.originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","body.oneOf.1.receivingAccountId":"acct_2c8b6f41-9a07-4d12-8e35-7b1f4a6d0c92","body.oneOf.1.deductionDate":"2026-07-10","body.oneOf.1.currency":"INR","body.oneOf.1.deliveryPreference":"international-fx","body.oneOf.1.compliance.type":"goods-and-services","body.oneOf.1.compliance.purpose":"SOFTWARE_EXPORT","body.oneOf.1.externalId":"invoice-2047"},{"body.oneOf.0.amount":125000,"body.oneOf.0.originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","body.oneOf.0.receivingAccountId":"acct_4a9d1e73-5b28-4c06-9f14-3d8e2b7a6c50","body.oneOf.0.deductionDate":"2026-07-10","body.oneOf.0.deliveryPreference":"international-gusd","body.oneOf.0.compliance.type":"goods-and-services","body.oneOf.0.externalId":"invoice-2048"}],"urlDisplay":"full"},"dependencies":{"parameters":{"49656e1d-506b-462a-8542-302f99689be3":{"name":"Idempotency-Key","in":"header","required":true,"description":"Required unique key (UUID recommended) that makes payment creation safe to retry by replaying the original response; retained 24h per partner, omitting it returns 400.\n","schema":{"type":"string","maxLength":255,"isRequired":true,"description":"Required unique key (UUID recommended) that makes payment creation safe to retry by replaying the original response; retained 24h per partner, omitting it returns 400.\n","uniqueKey":"","typeLabel":"string"}},"fdb509ad-b68e-42b2-b8bc-cc4aaa7c6b9e":{"name":"Melio-Sonar-Token","in":"header","required":false,"description":"Signed MelioSonar session token from the initiating device, used for risk evaluation; invalid or expired tokens return 400 INVALID_SONAR_TOKEN.\n","schema":{"type":"string","isRequired":false,"description":"Signed MelioSonar session token from the initiating device, used for risk evaluation; invalid or expired tokens return 400 INVALID_SONAR_TOKEN.\n","uniqueKey":"","typeLabel":"string"}},"44f9776c-1c2c-4eaf-abd0-9c3ecb9ed2f2":{"name":"Melio-Entity-Id","in":"header","required":true,"description":"Entity the request operates on — an entity id (`ent_\u003cuuid>`) or `me` (the partner's sole entity).","schema":{"type":"string","isRequired":true,"description":"Entity the request operates on — an entity id (`ent_\u003cuuid>`) or `me` (the partner's sole entity).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Which payload applies follows from `deliveryPreference`: the two `international-fx` values take `CreateFxPaymentRequest`, every other value takes `CreateUsdPaymentRequest`.\n","required":["deliveryPreference","compliance","amount","originatingAccountId","receivingAccountId","deductionDate"],"properties":{"amount":{"type":"integer","description":"Minor units of the currency the counterparty is paid in — the amount they receive. For a converted payment (`CreateFxPaymentRequest`) that is the foreign amount, and the entity is debited the equivalent in USD at the applied rate.\n","isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"integer"},"originatingAccountId":{"type":"string","description":"Internal originating account id (acct_\u003cid>), the debit account","isRequired":true,"uniqueKey":"oneOf.0.originatingAccountId","typeLabel":"string"},"receivingAccountId":{"type":"string","description":"External receiving account id (acct_\u003cid>), the credit account","isRequired":true,"uniqueKey":"oneOf.0.receivingAccountId","typeLabel":"string"},"deductionDate":{"type":"string","format":"date","isRequired":true,"uniqueKey":"oneOf.0.deductionDate","typeLabel":"string\u003cdate>"},"deliveryPreference":{"type":"string","enum":["standard-ach","same-day-ach","rtp","standard-check","express-check","overnight-check","domestic-wire","instant-domestic-wire","virtual-card","instant-virtual-card","counterparty-choice","international-gusd"],"description":"Required, and explicit about the receiving rail and delivery speed.\n\nThe preference's rail must match the receiving external account, otherwise the\nrequest is rejected with `400`.\n\nWith a bank (ACH) originating account, funds are collected before they are\ndelivered (the good-funds model): the standard values deliver at the rail's normal\nspeed, and the faster variants are subject to a per-payment eligibility check — an\nineligible fast variant is rejected with `400` (never silently downgraded).\n\nWith a card originating account, the collect is immediate, so ACH and wire payments\nalready deliver at the fast speed: use `same-day-ach` (not `standard-ach`) and\n`instant-domestic-wire` (not `domestic-wire`) — the superseded standard values are\nrejected with `400`, and no eligibility check applies to these two. Check values\nare unchanged, and virtual-card receiving accounts cannot be paid from a card\noriginating account.\n\n`counterparty-choice` is the only value for a `counterparty-choice` receiving\naccount: the counterparty picks the rail when they provide their details, and the\npayment then reports that rail's normal-speed preference.\n","isRequired":true,"uniqueKey":"oneOf.0.deliveryPreference","typeLabel":"enum\u003cstring>"},"compliance":{"type":"object","description":"Compliance details, discriminated by `type`. Only `goods-and-services` is supported today; other payment types may add their own variants with different fields.\n","required":["type"],"properties":{"type":{"type":"string","enum":["goods-and-services"],"isRequired":true,"uniqueKey":"oneOf.0.compliance.type","typeLabel":"enum\u003cstring>"},"goodsReceived":{"type":"boolean","description":"The payer confirms the goods or services were received. Required to be `true` only for card-originated payments above $3,000 (amount greater than 300000 minor units). Not required for non-card payments or for amounts at or below the threshold.\n","uniqueKey":"oneOf.0.compliance.goodsReceived","typeLabel":"boolean"},"card":{"type":"object","description":"Compliance details the card networks require about the counterparty. Required, with all of its fields, when the originating account is a card; ignored for every other originating account type.\n","required":["merchantCategoryCode"],"properties":{"merchantCategoryCode":{"type":"string","description":"The counterparty's 4-digit MCC (merchant category code).","pattern":"^\\d{4}$","isRequired":true,"uniqueKey":"oneOf.0.compliance.card.merchantCategoryCode","typeLabel":"string"},"merchantAddress":{"type":"object","description":"The counterparty's business address. Required for card-originated payments, the same as the MCC. Saved on the counterparty, so the most recent payment's address is the one held on record.\n","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string","description":"Street address. Must not be a PO box for the business (physical) address.\n","isRequired":true,"uniqueKey":"oneOf.0.compliance.card.merchantAddress.line1","typeLabel":"string"},"city":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.compliance.card.merchantAddress.city","typeLabel":"string"},"state":{"type":"string","description":"Two-letter US state or territory code (e.g. NY, CA). Must be a recognized USPS abbreviation.","pattern":"^[A-Za-z]{2}$","isRequired":true,"uniqueKey":"oneOf.0.compliance.card.merchantAddress.state","typeLabel":"string"},"postalCode":{"type":"string","description":"US ZIP code, 5 or 9 digits, with or without a hyphen before the last 4 (e.g. 10118, 10118-1234).","pattern":"^\\d{5}(-?\\d{4})?$","isRequired":true,"uniqueKey":"oneOf.0.compliance.card.merchantAddress.postalCode","typeLabel":"string"},"line2":{"type":"string","uniqueKey":"oneOf.0.compliance.card.merchantAddress.line2","typeLabel":"string"},"aptNumber":{"type":"string","uniqueKey":"oneOf.0.compliance.card.merchantAddress.aptNumber","typeLabel":"string"},"countryCode":{"type":"string","enum":["US"],"default":"US","uniqueKey":"oneOf.0.compliance.card.merchantAddress.countryCode","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.compliance.card.merchantAddress","typeLabel":"object"}},"uniqueKey":"oneOf.0.compliance.card","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.compliance","typeLabel":"object"},"currency":{"type":"string","default":"USD","description":"The currency the counterparty is paid in, which must match the receiving account's. `USD` for every domestic rail and for `international-gusd`, where it is the default and safe to omit; on `CreateFxPaymentRequest` it is required and must be the account's own `currency`. A mismatch — including `USD` against an `international-fx` account, which is never dollar-denominated — is rejected with `400 VALIDATION_ERROR`.\n","uniqueKey":"oneOf.0.currency","typeLabel":"string"},"attachmentId":{"type":"string","description":"A supporting document for this payment, from `POST /attachments` (`att_\u003cid>`).\n\nSome international destinations will not accept a payment without one — the provider decides which, based on the destination country's risk rating, and the requirement can also depend on whether you have paid that counterparty before. When it applies and no `attachmentId` is given, the payment is rejected with `400 ATTACHMENT_REQUIRED`; upload the document and retry. Sending one where it is not required is always accepted.\n\nThe document is attached at creation, so it cannot be added or replaced with `PATCH /payments/{paymentId}`. The attachment must belong to the same entity as the payment, otherwise the request is rejected with `404`.\n","example":"att_9f8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d","uniqueKey":"oneOf.0.attachmentId","typeLabel":"string"},"noteToSelf":{"type":"string","description":"Payer-private memo, never shown to the recipient","uniqueKey":"oneOf.0.noteToSelf","typeLabel":"string"},"noteToRecipient":{"type":"string","description":"Note shown to the payment recipient","uniqueKey":"oneOf.0.noteToRecipient","typeLabel":"string"},"externalId":{"type":"string","description":"Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.\n","maxLength":255,"pattern":"^[A-Za-z0-9_-]+$","uniqueKey":"oneOf.0.externalId","typeLabel":"string"},"metadata":{"type":"object","description":"Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 500 keys; each key 1 to 40 chars and may not contain square brackets (`[` `]`, reserved for the `metadata[key]` filter); value ≤100 chars. The whole object must serialize to at most 128KB of JSON. Filterable via `metadata[key]`.\n","additionalProperties":{"type":"string","maxLength":100,"uniqueKey":"oneOf.0.metadata.additionalProperties","typeLabel":"string"},"maxProperties":500,"uniqueKey":"oneOf.0.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Which payload applies follows from `deliveryPreference`: the two `international-fx` values take `CreateFxPaymentRequest`, every other value takes `CreateUsdPaymentRequest`.\n","required":["currency","deliveryPreference","compliance","amount","originatingAccountId","receivingAccountId","deductionDate"],"properties":{"amount":{"type":"integer","description":"Minor units of the currency the counterparty is paid in — the amount they receive. For a converted payment (`CreateFxPaymentRequest`) that is the foreign amount, and the entity is debited the equivalent in USD at the applied rate.\n","isRequired":true,"uniqueKey":"oneOf.1.amount","typeLabel":"integer"},"originatingAccountId":{"type":"string","description":"Internal originating account id (acct_\u003cid>), the debit account","isRequired":true,"uniqueKey":"oneOf.1.originatingAccountId","typeLabel":"string"},"receivingAccountId":{"type":"string","description":"External receiving account id (acct_\u003cid>), the credit account","isRequired":true,"uniqueKey":"oneOf.1.receivingAccountId","typeLabel":"string"},"deductionDate":{"type":"string","format":"date","isRequired":true,"uniqueKey":"oneOf.1.deductionDate","typeLabel":"string\u003cdate>"},"currency":{"type":"string","default":"USD","description":"The currency the counterparty is paid in, which must match the receiving account's. `USD` for every domestic rail and for `international-gusd`, where it is the default and safe to omit; on `CreateFxPaymentRequest` it is required and must be the account's own `currency`. A mismatch — including `USD` against an `international-fx` account, which is never dollar-denominated — is rejected with `400 VALIDATION_ERROR`.\n","isRequired":true,"uniqueKey":"oneOf.1.currency","typeLabel":"string"},"deliveryPreference":{"type":"string","enum":["international-fx","fast-international-fx"],"description":"Required, and its rail must match the receiving external account, otherwise the request is rejected with `400`. `fast-international-fx` is subject to a per-payment eligibility check — an ineligible fast variant is rejected with `400` (never silently downgraded).\n","isRequired":true,"uniqueKey":"oneOf.1.deliveryPreference","typeLabel":"enum\u003cstring>"},"compliance":{"type":"object","description":"Compliance details for a converted payment, discriminated by `type`.","required":["purpose","type"],"properties":{"type":{"type":"string","enum":["goods-and-services"],"isRequired":true,"uniqueKey":"oneOf.1.compliance.type","typeLabel":"enum\u003cstring>"},"purpose":{"type":"string","description":"Why the money is being sent. Required — a converted payment cannot be submitted without one.\n\nUsually free text (e.g. \"payment for consulting services\"), but a few corridors take a code from a fixed set instead and refuse anything else. Today those are **INR** (10 codes, e.g. `GOODS_EXPORTED`, `SOFTWARE_EXPORT`, `TRAVEL_EXPENSES`), **BRL** (7, e.g. `BUY_OR_SELL_BUSINESS_SERVICE`, `INTERNATIONAL_TRAVEL`) and **CNY** (`GOODS`, `SERVICES`, `INVESTMENTS`, `OTHER_BUSINESS`). Sending free text to one of those is rejected with `400 VALIDATION_ERROR` listing the values it accepts. The lists can change, so treat these as examples and read the error for the current set.\n","example":"payment for consulting services","isRequired":true,"uniqueKey":"oneOf.1.compliance.purpose","typeLabel":"string"},"goodsReceived":{"type":"boolean","description":"The payer confirms the goods or services were received. Required to be `true` only for card-originated payments above $3,000 (amount greater than 300000 minor units). Not required for non-card payments or for amounts at or below the threshold.\n","uniqueKey":"oneOf.1.compliance.goodsReceived","typeLabel":"boolean"},"card":{"type":"object","description":"Compliance details the card networks require about the counterparty. Required, with all of its fields, when the originating account is a card; ignored for every other originating account type.\n","required":["merchantCategoryCode"],"properties":{"merchantCategoryCode":{"type":"string","description":"The counterparty's 4-digit MCC (merchant category code).","pattern":"^\\d{4}$","isRequired":true,"uniqueKey":"oneOf.1.compliance.card.merchantCategoryCode","typeLabel":"string"},"merchantAddress":{"type":"object","description":"The counterparty's business address. Required for card-originated payments, the same as the MCC. Saved on the counterparty, so the most recent payment's address is the one held on record.\n","required":["line1","city","state","postalCode"],"properties":{"line1":{"type":"string","description":"Street address. Must not be a PO box for the business (physical) address.\n","isRequired":true,"uniqueKey":"oneOf.1.compliance.card.merchantAddress.line1","typeLabel":"string"},"city":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.compliance.card.merchantAddress.city","typeLabel":"string"},"state":{"type":"string","description":"Two-letter US state or territory code (e.g. NY, CA). Must be a recognized USPS abbreviation.","pattern":"^[A-Za-z]{2}$","isRequired":true,"uniqueKey":"oneOf.1.compliance.card.merchantAddress.state","typeLabel":"string"},"postalCode":{"type":"string","description":"US ZIP code, 5 or 9 digits, with or without a hyphen before the last 4 (e.g. 10118, 10118-1234).","pattern":"^\\d{5}(-?\\d{4})?$","isRequired":true,"uniqueKey":"oneOf.1.compliance.card.merchantAddress.postalCode","typeLabel":"string"},"line2":{"type":"string","uniqueKey":"oneOf.1.compliance.card.merchantAddress.line2","typeLabel":"string"},"aptNumber":{"type":"string","uniqueKey":"oneOf.1.compliance.card.merchantAddress.aptNumber","typeLabel":"string"},"countryCode":{"type":"string","enum":["US"],"default":"US","uniqueKey":"oneOf.1.compliance.card.merchantAddress.countryCode","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.compliance.card.merchantAddress","typeLabel":"object"}},"uniqueKey":"oneOf.1.compliance.card","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.1.compliance","typeLabel":"object"},"attachmentId":{"type":"string","description":"A supporting document for this payment, from `POST /attachments` (`att_\u003cid>`).\n\nSome international destinations will not accept a payment without one — the provider decides which, based on the destination country's risk rating, and the requirement can also depend on whether you have paid that counterparty before. When it applies and no `attachmentId` is given, the payment is rejected with `400 ATTACHMENT_REQUIRED`; upload the document and retry. Sending one where it is not required is always accepted.\n\nThe document is attached at creation, so it cannot be added or replaced with `PATCH /payments/{paymentId}`. The attachment must belong to the same entity as the payment, otherwise the request is rejected with `404`.\n","example":"att_9f8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d","uniqueKey":"oneOf.1.attachmentId","typeLabel":"string"},"noteToSelf":{"type":"string","description":"Payer-private memo, never shown to the recipient","uniqueKey":"oneOf.1.noteToSelf","typeLabel":"string"},"noteToRecipient":{"type":"string","description":"Note shown to the payment recipient","uniqueKey":"oneOf.1.noteToRecipient","typeLabel":"string"},"externalId":{"type":"string","description":"Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.\n","maxLength":255,"pattern":"^[A-Za-z0-9_-]+$","uniqueKey":"oneOf.1.externalId","typeLabel":"string"},"metadata":{"type":"object","description":"Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 500 keys; each key 1 to 40 chars and may not contain square brackets (`[` `]`, reserved for the `metadata[key]` filter); value ≤100 chars. The whole object must serialize to at most 128KB of JSON. Filterable via `metadata[key]`.\n","additionalProperties":{"type":"string","maxLength":100,"uniqueKey":"oneOf.1.metadata.additionalProperties","typeLabel":"string"},"maxProperties":500,"uniqueKey":"oneOf.1.metadata","typeLabel":"object"},"fxQuoteToken":{"type":"string","description":"The `quoteToken` returned by `POST /tools/fx-quote`, which locks the rate the payment is executed at. Optional: when omitted, the rate prevailing at creation is applied.\n\nA converted payment takes both its amounts from the quote, so the token must have been issued for this payment: one that is expired, or issued for a different `currency` or a different `amount`, is rejected with `400 FX_QUOTE_INVALID` rather than silently replacing what you asked to send.\n","uniqueKey":"oneOf.1.fxQuoteToken","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"bankFunded":{"title":"bankFunded","summary":"Bank (ACH) originating account, standard ACH delivery","value":{"amount":125000,"currency":"USD","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","deductionDate":"2026-07-10","deliveryPreference":"standard-ach","compliance":{"type":"goods-and-services"},"externalId":"invoice-2043","noteToRecipient":"July materials order","metadata":{"invoiceId":"INV-2043","department":"operations"}}},"cardFunded":{"title":"cardFunded","summary":"Card originating account — same-day-ach (standard-ach is rejected for card) and card compliance","value":{"amount":125000,"currency":"USD","originatingAccountId":"acct_5c1f0e88-2d1b-4a6a-9f3e-8a4b6c2d1e0f","receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","deductionDate":"2026-07-10","deliveryPreference":"same-day-ach","compliance":{"type":"goods-and-services","goodsReceived":true,"card":{"merchantCategoryCode":"5045","merchantAddress":{"line1":"350 5th Ave","city":"New York","state":"NY","postalCode":"10118"}}},"externalId":"invoice-2044","noteToRecipient":"July materials order"}},"internationalFxWithQuote":{"title":"internationalFxWithQuote","summary":"international-fx — CreateFxPaymentRequest with a locked rate and a supporting document","value":{"amount":100000,"currency":"EUR","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_7d4e2a10-6c93-4f57-b8a1-2e5f0c9d4b3a","deductionDate":"2026-07-10","deliveryPreference":"international-fx","fxQuoteToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwMDAwMH0.6bJ0kQ","attachmentId":"att_9f8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d","compliance":{"type":"goods-and-services","purpose":"payment for consulting services"},"externalId":"invoice-2045","noteToRecipient":"Q3 design retainer","metadata":{"invoiceId":"INV-2045"}}},"internationalFxAtMarketRate":{"title":"internationalFxAtMarketRate","summary":"international-fx — no quote token, so the rate at creation applies (purpose is still required)","value":{"amount":100000,"currency":"EUR","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_7d4e2a10-6c93-4f57-b8a1-2e5f0c9d4b3a","deductionDate":"2026-07-10","deliveryPreference":"international-fx","compliance":{"type":"goods-and-services","purpose":"payment for consulting services"},"externalId":"invoice-2046"}},"internationalFxPurposeCode":{"title":"internationalFxPurposeCode","summary":"international-fx to a corridor that takes a purpose code instead of free text (INR)","value":{"amount":850000,"currency":"INR","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_2c8b6f41-9a07-4d12-8e35-7b1f4a6d0c92","deductionDate":"2026-07-10","deliveryPreference":"international-fx","compliance":{"type":"goods-and-services","purpose":"SOFTWARE_EXPORT"},"externalId":"invoice-2047"}},"internationalGusd":{"title":"internationalGusd","summary":"international-gusd — dollar-denominated, so it is a CreateUsdPaymentRequest (no currency, token or purpose)","value":{"amount":125000,"originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_4a9d1e73-5b28-4c06-9f14-3d8e2b7a6c50","deductionDate":"2026-07-10","deliveryPreference":"international-gusd","compliance":{"type":"goods-and-services"},"externalId":"invoice-2048"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"4d067700-fbe7-4e0d-88f7-a20074482db6":{"description":"Payment created.","content":{"application/json":{"schema":{"type":"object","required":["deliveryPreference","fees"],"properties":{"deliveryPreference":{"type":"string","description":"Effective delivery preference. Reflects the faster variant when one was applied, otherwise the receiving rail's normal-speed value. Card-funded ACH and wire payments always report the fast name (`same-day-ach` / `instant-domestic-wire`) — a card collect is immediate, so those payments deliver at the fast speed.\n","enum":["standard-ach","same-day-ach","rtp","standard-check","express-check","overnight-check","domestic-wire","instant-domestic-wire","virtual-card","instant-virtual-card","counterparty-choice","international-fx","fast-international-fx","international-gusd"],"isRequired":true,"uniqueKey":"deliveryPreference","typeLabel":"enum\u003cstring>"},"fees":{"type":"array","description":"The fees charged for this payment. Includes both the originator-side and receiver-side fees; use `chargeTo` on each item to tell them apart. Always present — an empty array when no fees have been recorded yet (e.g. a freshly created payment). Receiver-side fees appear when the receiver upgraded the payment (see `receiverUpgrade`): `rtp` and `same-day-ach` are netted — deducted from the amount the receiver is paid. An `instant-virtual-card` upgrade carries no fee.\n","items":{"type":"object","description":"A single fee charged for a payment. Shares the `Fee` shape used by the fee calculator (`type`, `chargeTo`, `fixed`/`percent`, `amount`, all monetary values in minor units), and adds `status`, which only applies once a fee has actually been applied to a payment.\n","required":["status","type","chargeTo"],"properties":{"type":{"type":"string","enum":["standard-ach","same-day-ach","rtp","standard-check","express-check","overnight-check","domestic-wire","instant-domestic-wire","counterparty-choice","international-fx","fast-international-fx","international-gusd","card"],"description":"What the fee is for. Delivery-method fees use the delivery preference they apply to (`standard-ach`, `same-day-ach`, `rtp`, `standard-check`, `express-check`, `overnight-check`, `domestic-wire`, `instant-domestic-wire`, `counterparty-choice`, `international-fx`, `fast-international-fx`, `international-gusd`); funding-source fees use the funding-source type (`card`).\n","isRequired":true,"uniqueKey":"fees.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"chargeTo":{"type":"string","enum":["originator","receiver"],"description":"Which side of the payment the fee is levied on: the account originating the payment or the account receiving it. Works for both estimated (calculator) and applied (payment) fees.\n","isRequired":true,"uniqueKey":"fees.items.[INDEX].chargeTo","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["charged","pending"],"description":"Whether the fee has been charged or is still pending.","isRequired":true,"uniqueKey":"fees.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"fixed":{"type":"object","description":"Present when the fee is a flat amount.","properties":{"value":{"type":"integer","description":"Flat fee, minor units (cents)","uniqueKey":"fees.items.[INDEX].fixed.value","typeLabel":"integer"}},"uniqueKey":"fees.items.[INDEX].fixed","typeLabel":"object"},"percent":{"type":"object","description":"Present when the fee is a percentage of the payment amount.","properties":{"rate":{"type":"number","description":"Percentage rate (e.g. 2.9 = 2.9%)","uniqueKey":"fees.items.[INDEX].percent.rate","typeLabel":"number"},"min":{"type":"integer","description":"Minimum fee, minor units (cents)","uniqueKey":"fees.items.[INDEX].percent.min","typeLabel":"integer"},"max":{"type":"integer","description":"Maximum fee, minor units (cents)","uniqueKey":"fees.items.[INDEX].percent.max","typeLabel":"integer"}},"uniqueKey":"fees.items.[INDEX].percent","typeLabel":"object"},"amount":{"type":"integer","description":"The resolved fee for the requested payment amount, in minor units (cents). Absent only when the fee cannot be resolved without a per-payment quote (e.g. tiered pricing).\n","uniqueKey":"fees.items.[INDEX].amount","typeLabel":"integer"}},"uniqueKey":"fees.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"fees","typeLabel":"object[]"},"id":{"type":"string","description":"Opaque payment id (pay_\u003cid>)","uniqueKey":"id","typeLabel":"string"},"externalId":{"type":"string","description":"Your own unique identifier for the resource. Unique per partner per resource type (reusing one returns 409 DUPLICATE_EXTERNAL_ID). Distinct from the Idempotency-Key header, which dedupes the request rather than identifying the resource.\n","maxLength":255,"pattern":"^[A-Za-z0-9_-]+$","uniqueKey":"externalId","typeLabel":"string"},"amount":{"type":"integer","uniqueKey":"amount","typeLabel":"integer"},"currency":{"type":"string","uniqueKey":"currency","typeLabel":"string"},"originatingAccountId":{"type":"string","description":"Internal originating account id (acct_\u003cid>)","uniqueKey":"originatingAccountId","typeLabel":"string"},"receivingAccountId":{"type":"string","description":"External receiving account id (acct_\u003cid>)","uniqueKey":"receivingAccountId","typeLabel":"string"},"deductionDate":{"type":"string","format":"date","uniqueKey":"deductionDate","typeLabel":"string\u003cdate>"},"deliveryDate":{"type":"string","format":"date","uniqueKey":"deliveryDate","typeLabel":"string\u003cdate>"},"status":{"type":"string","enum":["scheduled","in-progress","completed","failed","canceled"],"description":"While a payment is being reviewed it is reported as `scheduled`; there is no separate review status.\n","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"failureReason":{"type":"object","description":"Why a payment failed. Present only when `status` is `failed`, and absent otherwise.\n\nCodes are named after the industry code that produced them - the NACHA return code for an ACH return (`R02_ACCOUNT_CLOSED`), `CARD_` for an ISO 8583 card decline - so a code can be matched against a bank return without a translation table. Failures with no industry code behind them (a returned check, a risk decision) carry a descriptive name instead.\n\n`type` says which leg of the payment failed, so the same code serves both legs: `R02_ACCOUNT_CLOSED` under `failed-to-collect` refers to the payer's account, and under `failed-to-deliver` to the recipient's. Always read `code` together with `type`.\n\n`message` is human-readable and may be reworded at any time, so do not parse or match on it. New `code` values may be added within an existing `type`, so treat an unrecognized `code` as the generic code for its `type` (`COLLECTION_FAILED`, `DELIVERY_FAILED` or `RISK_DECLINED`) rather than as an error.\n","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Which leg of the payment failed.\n\n`failed-to-collect` - the funds could not be debited from the originating account, so no money left the payer. Typically fixable by the payer (top up the account, fix the bank details) and then re-creating the payment.\n\n`failed-to-deliver` - the funds were collected but could not be credited to the receiving account, and are returned to the payer. Usually needs corrected recipient details before re-creating the payment.\n\n`risk-declined` - the payment was declined in review before any money moved.\n","enum":["failed-to-collect","failed-to-deliver","risk-declined"],"isRequired":true,"uniqueKey":"failureReason.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Stable, machine-readable failure code, named after the industry code behind it.\n\n**NACHA return codes** (`R##_*`) can appear under `failed-to-collect` or `failed-to-deliver`; `type` says which account the code refers to.\n\n**Card declines** (`CARD_*`) are ISO 8583 issuer responses and appear only under `failed-to-collect`, since only the payer funds a payment with a card.\n\n**Delivery outcomes** (`CHECK_RETURNED`, `VIRTUAL_CARD_EXPIRED`, `CANCELED_BY_RECIPIENT`, `RECIPIENT_DETAILS_NOT_PROVIDED`) have no industry code behind them and appear only under `failed-to-deliver`.\n\n**Risk codes** (`VERIFICATION_FAILED`, `UNSUPPORTED_BUSINESS_TYPE`, `UNSUPPORTED_LOCATION`, `PAYMENT_NOT_ALLOWED`, `DUPLICATE_PAYMENT_DETECTED`, `RISK_DECLINED`) appear only under `risk-declined`. Declines are reported as the bare `RISK_DECLINED` whenever the underlying reason cannot be disclosed, so it does not imply the reason is unknown.\n","enum":["R01_INSUFFICIENT_FUNDS","R02_ACCOUNT_CLOSED","R03_NO_ACCOUNT","R04_INVALID_ACCOUNT_NUMBER","R05_UNAUTHORIZED_DEBIT","R08_PAYMENT_STOPPED","R09_UNCOLLECTED_FUNDS","R10_NOT_AUTHORIZED","R13_INVALID_ROUTING_NUMBER","R16_ACCOUNT_FROZEN","R20_NON_TRANSACTION_ACCOUNT","R23_CREDIT_REFUSED","R29_CORPORATE_NOT_AUTHORIZED","R84_CREDIT_EXCEPTION","CARD_DO_NOT_HONOR","CARD_INVALID_TRANSACTION","CARD_INSUFFICIENT_FUNDS","CARD_LIMIT_EXCEEDED","CARD_BALANCE_UNAVAILABLE","CHECK_RETURNED","VIRTUAL_CARD_EXPIRED","CANCELED_BY_RECIPIENT","RECIPIENT_DETAILS_NOT_PROVIDED","VERIFICATION_FAILED","UNSUPPORTED_BUSINESS_TYPE","UNSUPPORTED_LOCATION","PAYMENT_NOT_ALLOWED","DUPLICATE_PAYMENT_DETECTED","RISK_DECLINED","COLLECTION_FAILED","DELIVERY_FAILED"],"isRequired":true,"uniqueKey":"failureReason.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation of the failure. Display-only; do not match on it.","isRequired":true,"uniqueKey":"failureReason.message","typeLabel":"string"}},"example":{"type":"failed-to-collect","code":"R01_INSUFFICIENT_FUNDS","message":"The account had insufficient funds to cover the payment."},"uniqueKey":"failureReason","typeLabel":"object"},"noteToSelf":{"type":"string","description":"Payer-private memo, never shown to the recipient","uniqueKey":"noteToSelf","typeLabel":"string"},"noteToRecipient":{"type":"string","description":"Note shown to the payment recipient","uniqueKey":"noteToRecipient","typeLabel":"string"},"metadata":{"type":"object","description":"Free-form string key/value pairs stored and returned verbatim, never interpreted by Melio. Up to 500 keys; each key 1 to 40 chars and may not contain square brackets (`[` `]`, reserved for the `metadata[key]` filter); value ≤100 chars. The whole object must serialize to at most 128KB of JSON. Filterable via `metadata[key]`.\n","additionalProperties":{"type":"string","maxLength":100,"uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"maxProperties":500,"uniqueKey":"metadata","typeLabel":"object"},"tracking":{"oneOf":[{"type":"object","description":"Delivery tracking for the payment, discriminated by `type`. Appears once the rail has actually reported something — absent for wire and virtual-card payments, which report nothing, and for payments whose delivery has not reached the rail yet (a `scheduled` payment never carries it). A present object always holds at least one identifier or timestamp; the remaining fields fill in as the delivery progresses, so treat each of them as optional.\n","required":["type"],"properties":{"type":{"type":"string","enum":["ach"],"isRequired":true,"uniqueKey":"tracking.oneOf.0.type","typeLabel":"enum\u003cstring>"},"traceNumber":{"type":"string","description":"The ACH trace number of the delivery transfer, as reported by the network — the RTP root id for an RTP delivery. Absent until the transfer has been submitted.\n","uniqueKey":"tracking.oneOf.0.traceNumber","typeLabel":"string"},"sentAt":{"type":"string","format":"date-time","description":"When the delivery transfer was submitted to the network.","uniqueKey":"tracking.oneOf.0.sentAt","typeLabel":"string\u003cdate-time>"},"clearedAt":{"type":"string","format":"date-time","description":"When the delivery transfer settled at the receiving bank.","uniqueKey":"tracking.oneOf.0.clearedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"tracking.oneOf.0","typeLabel":"object"},{"type":"object","description":"Delivery tracking for the payment, discriminated by `type`. Appears once the rail has actually reported something — absent for wire and virtual-card payments, which report nothing, and for payments whose delivery has not reached the rail yet (a `scheduled` payment never carries it). A present object always holds at least one identifier or timestamp; the remaining fields fill in as the delivery progresses, so treat each of them as optional.\n","required":["type"],"properties":{"type":{"type":"string","enum":["check"],"isRequired":true,"uniqueKey":"tracking.oneOf.1.type","typeLabel":"enum\u003cstring>"},"checkNumber":{"type":"string","description":"The serial number printed on the check. Absent until the check has been issued.","uniqueKey":"tracking.oneOf.1.checkNumber","typeLabel":"string"},"issuedAt":{"type":"string","format":"date-time","description":"When the check was printed.","uniqueKey":"tracking.oneOf.1.issuedAt","typeLabel":"string\u003cdate-time>"},"mailedAt":{"type":"string","format":"date-time","description":"When the check was handed to the mail carrier.","uniqueKey":"tracking.oneOf.1.mailedAt","typeLabel":"string\u003cdate-time>"},"clearedAt":{"type":"string","format":"date-time","description":"When the check was deposited and cleared.","uniqueKey":"tracking.oneOf.1.clearedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"tracking.oneOf.1","typeLabel":"object"}],"uniqueKey":"tracking","typeLabel":"object"},"receiverUpgrade":{"type":"object","description":"Present when the receiving party upgraded the payment from the payment notification Melio sent them. The upgrade itself is the payment's `deliveryPreference` (`rtp`, `same-day-ach` or `instant-virtual-card`) and `receivingAccountId`; the `upgradedFrom*` fields hold what you originally chose. A speed upgrade (`rtp`, `same-day-ach`) keeps the receiving account; the others move the payment to an account the receiver added (a bank account in place of a check, or a virtual card). The receiver pays for the upgrade — see the receiver-side entries in `fees`. An upgraded payment can no longer be updated (`409 PAYMENT_UPGRADED_BY_RECEIVER`).\n","required":["upgradedFromDeliveryPreference","upgradedFromReceivingAccountId"],"properties":{"upgradedFromDeliveryPreference":{"type":"string","description":"The normal-speed delivery preference of the receiving account you chose, named as in `deliveryPreference` (e.g. `standard-ach`, `standard-check`, or `same-day-ach` for a card-funded payment).\n","enum":["standard-ach","same-day-ach","rtp","standard-check","express-check","overnight-check","domestic-wire","instant-domestic-wire","virtual-card","instant-virtual-card","counterparty-choice","international-fx","fast-international-fx","international-gusd"],"isRequired":true,"uniqueKey":"receiverUpgrade.upgradedFromDeliveryPreference","typeLabel":"enum\u003cstring>"},"upgradedFromReceivingAccountId":{"type":"string","description":"The receiving account you chose (acct_\u003cid>). Equal to `receivingAccountId` when the upgrade kept it.\n","isRequired":true,"uniqueKey":"receiverUpgrade.upgradedFromReceivingAccountId","typeLabel":"string"}},"uniqueKey":"receiverUpgrade","typeLabel":"object"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"bankFunded":{"title":"bankFunded","summary":"Bank-funded standard ACH payment","value":{"id":"pay_9f8c7b6a5d4e3f21","externalId":"invoice-2043","amount":125000,"currency":"USD","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","deductionDate":"2026-07-10","deliveryPreference":"standard-ach","deliveryDate":"2026-07-14","status":"scheduled","noteToRecipient":"July materials order","metadata":{"invoiceId":"INV-2043","department":"operations"},"fees":[],"createdAt":"2026-07-08T15:04:05Z","updatedAt":"2026-07-08T15:04:05Z"}},"cardFunded":{"title":"cardFunded","summary":"Card-funded payment — reports the fast name, delivers same business day","value":{"id":"pay_1b2c3d4e5f6a7b8c","externalId":"invoice-2044","amount":125000,"currency":"USD","originatingAccountId":"acct_5c1f0e88-2d1b-4a6a-9f3e-8a4b6c2d1e0f","receivingAccountId":"acct_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","deductionDate":"2026-07-10","deliveryPreference":"same-day-ach","deliveryDate":"2026-07-10","status":"scheduled","noteToRecipient":"July materials order","fees":[],"createdAt":"2026-07-08T15:04:05Z","updatedAt":"2026-07-08T15:04:05Z"}},"internationalFx":{"title":"internationalFx","summary":"Converted payment — reported in the currency the counterparty receives","value":{"id":"pay_4d5e6f7a8b9c0d1e","externalId":"invoice-2045","amount":100000,"currency":"EUR","originatingAccountId":"acct_3f2504e0-4f89-41d3-9a0c-0305e82c3301","receivingAccountId":"acct_7d4e2a10-6c93-4f57-b8a1-2e5f0c9d4b3a","deductionDate":"2026-07-10","deliveryPreference":"international-fx","deliveryDate":"2026-07-16","status":"scheduled","noteToRecipient":"Q3 design retainer","metadata":{"invoiceId":"INV-2045"},"fees":[],"createdAt":"2026-07-08T15:04:05Z","updatedAt":"2026-07-08T15:04:05Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"ffadd50f-a5a0-43b4-87bd-b6440646126e":{"description":"Validation error, the required `Idempotency-Key` header is missing (IDEMPOTENCY_KEY_REQUIRED), the originating account is a bank account that has not been verified yet (ACCOUNT_NOT_VERIFIED).\n\nOn a converted payment also: a quote token that is expired or was issued for a different amount or currency (FX_QUOTE_INVALID), and a destination that will not accept the payment without a supporting document (ATTACHMENT_REQUIRED).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Coarse, machine-readable error category. Branch on this to handle a whole class of failures without enumerating every `code`.","enum":["invalid_request_error","authentication_error","authorization_error","not_found_error","conflict_error","rate_limit_error","service_unavailable_error","internal_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code.","enum":["VALIDATION_ERROR","INVALID_ACCOUNT_TYPE","ACCOUNT_NOT_VERIFIED","INVALID_DELIVERY_PREFERENCE","MCC_REQUIRED","MERCHANT_ADDRESS_REQUIRED","GOODS_RECEIVED_REQUIRED","IDEMPOTENCY_KEY_REQUIRED","FEE_CALCULATION_FAILED","UNSUPPORTED_CURRENCY","FX_QUOTE_INVALID","INVALID_SONAR_TOKEN","ATTACHMENT_REQUIRED","COMPLIANCE_UPLOAD_FAILED","ATTACHMENT_UPLOAD_FAILED","INTERNATIONAL_NOT_ENABLED","ENTITY_ONBOARDING_INCOMPLETE","UNAUTHORIZED","IP_NOT_ALLOWED","NOT_FOUND","DUPLICATE_ENTITY","DUPLICATE_ACCOUNT","DUPLICATE_PAYMENT","DUPLICATE_EXTERNAL_ID","ACCOUNT_IN_USE","BUSINESS_NOT_ELIGIBLE","PAYMENT_NOT_EDITABLE","PAYMENT_UPGRADED_BY_RECEIVER","PAYMENT_NOT_CANCELABLE","IDEMPOTENCY_KEY_REUSED","IDEMPOTENCY_KEY_IN_PROGRESS","IDEMPOTENCY_STORE_UNAVAILABLE","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error context (e.g. field-level validation failures).","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request_error","code":"ACCOUNT_NOT_VERIFIED","message":"The originating account must be verified before it can be used to create a payment"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"ACCOUNT_NOT_VERIFIED","message":"The originating account must be verified before it can be used to create a payment"}}}},"exampleType":"examples"}},"exampleType":"examples"},"47f80cc2-a368-429c-9a2b-7295e8cbee06":{"description":"The business is restricted by a risk/compliance limitation from making payments (BUSINESS_NOT_ELIGIBLE).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Coarse, machine-readable error category. Branch on this to handle a whole class of failures without enumerating every `code`.","enum":["invalid_request_error","authentication_error","authorization_error","not_found_error","conflict_error","rate_limit_error","service_unavailable_error","internal_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code.","enum":["VALIDATION_ERROR","INVALID_ACCOUNT_TYPE","ACCOUNT_NOT_VERIFIED","INVALID_DELIVERY_PREFERENCE","MCC_REQUIRED","MERCHANT_ADDRESS_REQUIRED","GOODS_RECEIVED_REQUIRED","IDEMPOTENCY_KEY_REQUIRED","FEE_CALCULATION_FAILED","UNSUPPORTED_CURRENCY","FX_QUOTE_INVALID","INVALID_SONAR_TOKEN","ATTACHMENT_REQUIRED","COMPLIANCE_UPLOAD_FAILED","ATTACHMENT_UPLOAD_FAILED","INTERNATIONAL_NOT_ENABLED","ENTITY_ONBOARDING_INCOMPLETE","UNAUTHORIZED","IP_NOT_ALLOWED","NOT_FOUND","DUPLICATE_ENTITY","DUPLICATE_ACCOUNT","DUPLICATE_PAYMENT","DUPLICATE_EXTERNAL_ID","ACCOUNT_IN_USE","BUSINESS_NOT_ELIGIBLE","PAYMENT_NOT_EDITABLE","PAYMENT_UPGRADED_BY_RECEIVER","PAYMENT_NOT_CANCELABLE","IDEMPOTENCY_KEY_REUSED","IDEMPOTENCY_KEY_IN_PROGRESS","IDEMPOTENCY_STORE_UNAVAILABLE","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error context (e.g. field-level validation failures).","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"authorization_error","code":"BUSINESS_NOT_ELIGIBLE","message":"Business is not eligible to make payments. See the limitations endpoint for details."}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authorization_error","code":"BUSINESS_NOT_ELIGIBLE","message":"Business is not eligible to make payments. See the limitations endpoint for details."}}}},"exampleType":"examples"}},"exampleType":"examples"},"26ffb115-3684-4833-b146-7d6eb244d936":{"description":"Entity / internal account / external account not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Coarse, machine-readable error category. Branch on this to handle a whole class of failures without enumerating every `code`.","enum":["invalid_request_error","authentication_error","authorization_error","not_found_error","conflict_error","rate_limit_error","service_unavailable_error","internal_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code.","enum":["VALIDATION_ERROR","INVALID_ACCOUNT_TYPE","ACCOUNT_NOT_VERIFIED","INVALID_DELIVERY_PREFERENCE","MCC_REQUIRED","MERCHANT_ADDRESS_REQUIRED","GOODS_RECEIVED_REQUIRED","IDEMPOTENCY_KEY_REQUIRED","FEE_CALCULATION_FAILED","UNSUPPORTED_CURRENCY","FX_QUOTE_INVALID","INVALID_SONAR_TOKEN","ATTACHMENT_REQUIRED","COMPLIANCE_UPLOAD_FAILED","ATTACHMENT_UPLOAD_FAILED","INTERNATIONAL_NOT_ENABLED","ENTITY_ONBOARDING_INCOMPLETE","UNAUTHORIZED","IP_NOT_ALLOWED","NOT_FOUND","DUPLICATE_ENTITY","DUPLICATE_ACCOUNT","DUPLICATE_PAYMENT","DUPLICATE_EXTERNAL_ID","ACCOUNT_IN_USE","BUSINESS_NOT_ELIGIBLE","PAYMENT_NOT_EDITABLE","PAYMENT_UPGRADED_BY_RECEIVER","PAYMENT_NOT_CANCELABLE","IDEMPOTENCY_KEY_REUSED","IDEMPOTENCY_KEY_IN_PROGRESS","IDEMPOTENCY_STORE_UNAVAILABLE","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error context (e.g. field-level validation failures).","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"VALIDATION_ERROR","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a91cf975-4347-4704-8783-13ff61cefa2c":{"description":"A payment already exists for this request (DUPLICATE_PAYMENT), the `externalId` is already used by another payment (DUPLICATE_EXTERNAL_ID), or the `Idempotency-Key` was reused with a different body (IDEMPOTENCY_KEY_REUSED) / is still being processed by an earlier request (IDEMPOTENCY_KEY_IN_PROGRESS).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Coarse, machine-readable error category. Branch on this to handle a whole class of failures without enumerating every `code`.","enum":["invalid_request_error","authentication_error","authorization_error","not_found_error","conflict_error","rate_limit_error","service_unavailable_error","internal_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code.","enum":["VALIDATION_ERROR","INVALID_ACCOUNT_TYPE","ACCOUNT_NOT_VERIFIED","INVALID_DELIVERY_PREFERENCE","MCC_REQUIRED","MERCHANT_ADDRESS_REQUIRED","GOODS_RECEIVED_REQUIRED","IDEMPOTENCY_KEY_REQUIRED","FEE_CALCULATION_FAILED","UNSUPPORTED_CURRENCY","FX_QUOTE_INVALID","INVALID_SONAR_TOKEN","ATTACHMENT_REQUIRED","COMPLIANCE_UPLOAD_FAILED","ATTACHMENT_UPLOAD_FAILED","INTERNATIONAL_NOT_ENABLED","ENTITY_ONBOARDING_INCOMPLETE","UNAUTHORIZED","IP_NOT_ALLOWED","NOT_FOUND","DUPLICATE_ENTITY","DUPLICATE_ACCOUNT","DUPLICATE_PAYMENT","DUPLICATE_EXTERNAL_ID","ACCOUNT_IN_USE","BUSINESS_NOT_ELIGIBLE","PAYMENT_NOT_EDITABLE","PAYMENT_UPGRADED_BY_RECEIVER","PAYMENT_NOT_CANCELABLE","IDEMPOTENCY_KEY_REUSED","IDEMPOTENCY_KEY_IN_PROGRESS","IDEMPOTENCY_STORE_UNAVAILABLE","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Additional error context (e.g. field-level validation failures).","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"conflict_error","code":"DUPLICATE_EXTERNAL_ID","message":"A payment with externalId 'invoice-2043' already exists."}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"conflict_error","code":"DUPLICATE_EXTERNAL_ID","message":"A payment with externalId 'invoice-2043' already exists."}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"91313546-b52e-442a-8ba9-362bdb749f96":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","scopes":[],"schemeName":"ApiKey"}}},"servers":{"11023ec5-d3f9-4571-b97f-e305433ac479":{"description":"Production","url":"https://api.melio.com/v2"},"a9b4dcdc-ad19-4ca1-80f3-760819968e97":{"description":"Staging01","url":"https://api.staging01.melio.com/v2"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"api-key","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"api-key"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"melio","siteName":"Melio Payouts API","title":"Create a payment - Melio Payouts API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T07:50:53.977Z","originalFileLocation":"api-reference/payments/create-a-payment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a payment from one of the entity\u0026#x27;s internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Melio Payouts API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a payment - Melio Payouts API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a payment from one of the entity\u0026#x27;s internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Melio Payouts API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.melio.com/docs/api-reference/payments/create-a-payment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://melio.mintlify.site/docs/_mintlify/api/og/v2?division=Payments\u0026amp;title=Create+a+payment\u0026amp;description=Creates+a+payment+from+one+of+the+entity%27s+internal+accounts+to+one+of+its+external+accounts.+An+%60Idempotency-Key%60+header+is+required+so+the+request+is+safe+to+\u0026amp;theme=840e77e176f335a47137ea1a\u0026amp;signature=a47d207c2ce8f80129eba4a50e0ec6bf5305589c9521114e2e609626f7870e03\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a payment - Melio Payouts API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a payment from one of the entity\u0026#x27;s internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://melio.mintlify.site/docs/_mintlify/api/og/v2?division=Payments\u0026amp;title=Create+a+payment\u0026amp;description=Creates+a+payment+from+one+of+the+entity%27s+internal+accounts+to+one+of+its+external+accounts.+An+%60Idempotency-Key%60+header+is+required+so+the+request+is+safe+to+\u0026amp;theme=840e77e176f335a47137ea1a\u0026amp;signature=a47d207c2ce8f80129eba4a50e0ec6bf5305589c9521114e2e609626f7870e03\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/melio/9sciKkVs_XIsdZmC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Melio Payouts API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7849ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.melio.com/docs/api-reference/payments/create-a-payment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/payments/create-a-payment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.melio.com/#organization\",\"name\":\"Melio Payouts API\",\"url\":\"https://developers.melio.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/melio/xvWXKzlr8EBNoRDW/images/melio-wordmark.svg?fit=max\u0026auto=format\u0026n=xvWXKzlr8EBNoRDW\u0026q=85\u0026s=64c5b00a44de83a5745e570ecf3d0fc2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.melio.com/docs#website\",\"name\":\"Melio Payouts API\",\"url\":\"https://developers.melio.com/docs\",\"publisher\":{\"@id\":\"https://developers.melio.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment#webpage\",\"url\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment\",\"name\":\"Create a payment\",\"description\":\"Creates a payment from one of the entity's internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.\",\"dateModified\":\"2026-11-11T07:50:53.977Z\",\"isPartOf\":{\"@id\":\"https://developers.melio.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Payments\",\"item\":\"https://developers.melio.com/docs/api-reference/payments/list-payments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a payment\",\"item\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment#apireference\",\"headline\":\"Create a payment\",\"name\":\"Create a payment\",\"description\":\"Creates a payment from one of the entity's internal accounts to one of its external accounts. An Idempotency-Key header is required so the request is safe to retry.\",\"url\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment\",\"mainEntityOfPage\":{\"@id\":\"https://developers.melio.com/docs/api-reference/payments/create-a-payment#webpage\"},\"dateModified\":\"2026-11-11T07:50:53.977Z\",\"publisher\":{\"@id\":\"https://developers.melio.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.melio.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Melio Payouts API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Melio Payouts API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/payments/create-a-payment.md","siteName":"Melio Payouts API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/Introduction"}]},{"tab":"API Reference","groups":[{"group":"Entities","pages":[{"title":"List entities","deprecated":null,"version":null,"openapi":"/openapi.json get /entities","href":"/api-reference/entities/list-entities"},{"title":"Create an entity","deprecated":null,"version":null,"openapi":"/openapi.json post /entities","href":"/api-reference/entities/create-an-entity"},{"title":"Get an entity","deprecated":null,"version":null,"openapi":"/openapi.json get /entities/{entityId}","href":"/api-reference/entities/get-an-entity"},{"title":"Update an entity","deprecated":null,"version":null,"openapi":"/openapi.json patch /entities/{entityId}","href":"/api-reference/entities/update-an-entity"},{"title":"List beneficial owners","deprecated":null,"version":null,"openapi":"/openapi.json get /entities/{entityId}/beneficial-owners","href":"/api-reference/entities/list-beneficial-owners"},{"title":"Replace beneficial owners","deprecated":null,"version":null,"openapi":"/openapi.json put /entities/{entityId}/beneficial-owners","href":"/api-reference/entities/replace-beneficial-owners"},{"title":"Get limitations","deprecated":null,"version":null,"openapi":"/openapi.json get /limitations","href":"/api-reference/entities/get-limitations"}]},{"group":"Accounts","pages":[{"title":"List accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /accounts","href":"/api-reference/accounts/list-accounts"},{"title":"Create an account","deprecated":null,"version":null,"openapi":"/openapi.json post /accounts","href":"/api-reference/accounts/create-an-account"},{"title":"Create a link to add a Plaid or card account","deprecated":null,"version":null,"openapi":"/openapi.json post /accounts/link","href":"/api-reference/accounts/create-a-link-to-add-a-plaid-or-card-account"},{"title":"Get an account","deprecated":null,"version":null,"openapi":"/openapi.json get /accounts/{accountId}","href":"/api-reference/accounts/get-an-account"},{"title":"Delete an account","deprecated":null,"version":null,"openapi":"/openapi.json delete /accounts/{accountId}","href":"/api-reference/accounts/delete-an-account"},{"title":"Create a link to verify a Plaid account","deprecated":null,"version":null,"openapi":"/openapi.json post /accounts/{accountId}/verify/link","href":"/api-reference/accounts/create-a-link-to-verify-a-plaid-account"}]},{"group":"Attachments","pages":[{"title":"Upload an attachment","deprecated":null,"version":null,"openapi":"/openapi.json post /attachments","href":"/api-reference/attachments/upload-an-attachment"}]},{"group":"Payments","pages":[{"title":"List payments","description":"Returns the entity's payments, newest first. Use the filters below to narrow the list; they can be combined with each other and with pagination.\n","deprecated":null,"version":null,"openapi":"/openapi.json get /payments","href":"/api-reference/payments/list-payments"},{"title":"Create a payment","deprecated":null,"version":null,"openapi":"/openapi.json post /payments","href":"/api-reference/payments/create-a-payment"},{"title":"Get a payment","description":"Returns a single payment by its Melio id (`pay_\u003cid>`). To look one up by your own identifier instead, list payments with `?externalId=`.\n","deprecated":null,"version":null,"openapi":"/openapi.json get /payments/{paymentId}","href":"/api-reference/payments/get-a-payment"},{"title":"Update a payment","deprecated":null,"version":null,"openapi":"/openapi.json patch /payments/{paymentId}","href":"/api-reference/payments/update-a-payment"},{"title":"Cancel a payment","deprecated":null,"version":null,"openapi":"/openapi.json post /payments/{paymentId}/cancel","href":"/api-reference/payments/cancel-a-payment"},{"title":"Simulate a payment action","deprecated":null,"version":null,"openapi":"/openapi.json post /simulations/payments/{paymentId}/actions","href":"/api-reference/payments/simulate-a-payment-action"}]},{"group":"Tools","pages":[{"title":"Calculate fees","deprecated":null,"version":null,"openapi":"/openapi.json post /tools/fee-calculator","href":"/api-reference/tools/calculate-fees"},{"title":"Quote a currency conversion","deprecated":null,"version":null,"openapi":"/openapi.json post /tools/fx-quote","href":"/api-reference/tools/quote-a-currency-conversion"},{"title":"Check fast payment eligibility","deprecated":null,"version":null,"openapi":"/openapi.json post /tools/fast-payment-eligibility","href":"/api-reference/tools/check-fast-payment-eligibility"},{"title":"Estimate delivery dates","deprecated":null,"version":null,"openapi":"/openapi.json post /tools/delivery-eta","href":"/api-reference/tools/estimate-delivery-dates"}]}]}]},"basePath":"","title":"Create a payment - Melio Payouts API","buildId":"dpl_Aw98ji4XvBsgtZwL1VrkUF9ehFqz","deploymentId":"dpl_Aw98ji4XvBsgtZwL1VrkUF9ehFqz","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-CQGbdtm4.js","utils-D88A1f-Z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChqWdz1A.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-yBrxdh_6.js","snippetPresets-BgqDrFJC.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C2-BijcO.js","ApiExamples-Duxc2rZw.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C7jidOil.js","shallow-xkjpHm-U.js","getApiPlaygroundDisplay-fE3rVpvL.js","CodeSnippet-LgxljKed.js","CodeSnippets-D-pXWDHq.js","getPastedJson-CLRcu-uo.js","icon-Cxirpjgo.js","MethodPill-D49eqY5e.js","DuplicateIcon-CivCz5Rp.js","createIcon-D71qL3f5.js","DynamicMarkdown-BcGRTrw6.js","SectionHeading-DzaqmmSD.js","axios-vUo_bRtp.js","Markdown-CZqUYmMp.js","clsx-B6IZIRsp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-B0ZV6X5T.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-MqLyPtsW.js"]}