Reference
Status lifecycles
Every status you can see, in one place: what it means, whether it's final (it will never change again) and whether a webhook tells you about it. Each section links to the product guide with the full details.
Statuses and transitions are the same in both environments, but non-final statuses last much longer in the sandbox: payouts can stay processing for 15 minutes or more, and customers processing for days. See Sandbox vs production.
Wherever the Webhook column says "—" or "None", poll the object until it's final. Never wait for a webhook alone.
Transfers (payouts, remittances, bulk rows)
Details: Payouts.
stateDiagram-v2
direction LR
[*] --> pending
[*] --> pending_approval
[*] --> processing
pending --> processing
pending --> failed
pending_approval --> processing
pending_approval --> rejected
processing --> pending
processing --> completed
processing --> failed
processing --> rejected
pending_security_review --> pending
pending_security_review --> pending_approval
pending_security_review --> processing
pending_security_review --> cancelled
| Status | Final | Webhook | Meaning |
|---|---|---|---|
pending |
No | — | Being screened (responseCode null), retrying after the bank couldn't be reached (31), or a manually settled payout being completed. |
pending_ |
No | — | Waiting for an approver in your business (42). |
processing |
No | — | Sent for payment (01; 05 just after approval). USD payouts, and some other currencies, stay processing until Multigate's operations team completes them. With some banks, a payout the bank reports as failed also stays processing until operations confirms the failure and the money is returned. |
completed |
Yes | transfer_ |
Paid (00). |
failed |
Yes | transfer_, not always |
Not paid. Bank and partner failures are normally reversed to your account. A failed balance check just before the debit (22) is not debited and sends the webhook. No webhook for: 43 (declined by compliance before any debit), 03 when the debit couldn't be posted, and a Nigerian account number that isn't 10 digits. |
rejected |
Yes | — | 04. Declined by an approver in your business (nothing debited), or in Multigate's compliance or settlement review. |
pending_ |
No | — (webhooks show pending) |
Web-app transfers only, never API-created ones, and today only in the sandbox: held by Multigate's security check for its compliance team (43). Nothing debited. Released, it continues like a new transfer. |
cancelled |
Yes | — | 04. A held web-app transfer that Multigate declined or didn't review within 24 hours. Nothing debited. |
Common responseCode values: 00 paid, 01 processing, 05 approved, 31 bank unreachable (retrying), 42 waiting for approval, 22 balance too low at the pre-debit check, 03 failed, 04 rejected, 43 declined by compliance.
A transfer whose outcome at the bank Multigate can't confirm stays pending or processing, with response "CBI provider dispatch outcome is unknown", until Multigate reconciles it. No webhook is sent until then; don't pay it again. See Payouts.
Bulk batches
Details: Bulk payouts. Each row is a transfer with the statuses above.
| Status | Final | Meaning |
|---|---|---|
pending_ |
No | At least one row waits for an approver. |
processing |
No | Rows are being paid. |
completed |
Yes | Every row is final and at least one was paid. Some rows may still have failed. |
failed |
Yes | Every row is final and none was paid. |
rejected |
Yes | An approver declined every row. |
The batch status is a summary. Always check each row's status.
Accounts
Details: Accounts.
| Status | Webhook | Meaning |
|---|---|---|
processing, pending |
— | Being opened; waiting for a partner bank. |
profiling |
— | Virtual accounts only: waiting for the partner bank to approve your business profile. |
active |
account_, not always |
Usable. The webhook can arrive more than once, as each partner bank activates. It's often missing when the account is activated by Multigate's approval of your bank profile, and never sent for linked accounts: poll accounts that stay processing. |
failed |
None | Couldn't be opened. Open a new account with a new unique. |
disabled |
None | Closed or blocked, for example a dynamic account after its payment or a suspended business. It can't send or receive money. |
inactive |
None | Closed at the bank. |
enabled |
None | Re-enabled after being disabled. It can't send money until Multigate sets it back to active. |
Linking requests (linked accounts)
Details: Accounts. No webhooks are sent for linking.
Approval |
Final | Meaning |
|---|---|---|
PENDING |
No | Waiting for a second user to approve. Stays PENDING if an approval attempt fails. |
APPROVED |
Yes | Approved; the linked account is created and active. |
DECLINED |
Yes | Declined; the same account can't be requested again. |
Customers
Details: Customers.
status |
Webhook | Meaning |
|---|---|---|
draft |
— | Created, not submitted. |
processing |
— | Submitted. Waiting for your approver, screening, or Multigate compliance. |
active |
subclient_ (client customers only) |
Approved. Only active customers can have accounts, payouts and conversions. |
rejected |
subclient_ with status: rejected |
Declined by Multigate compliance. Fix and resubmit. |
inactive |
— | Deactivated in your business. Customers declined by your own approver are also set to inactive and removed, so you won't see them. |
deleted |
— | Deleted in your business. |
blocked |
— | Blocked by Multigate compliance. Contact Multigate. |
approval tracks approval inside your business: pending, approved or declined. It stays approved when Multigate compliance declines, so use status.
Conversions
Details: FX conversions.
| Status | Final | Meaning |
|---|---|---|
processing |
No | Debited; the credit is waiting for settlement. trade_ follows. |
awaiting_ |
No | Post-funded account (by agreement with Multigate) short of funds; the debit is deferred. |
completed |
Yes | Target account credited, at once or after processing. trade_ is sent. Today it can also show when the provider failed a processing conversion later, so check that the target account was credited. |
failed |
Yes | The provider refused the conversion, usually at lock time (the lock call returns 400). The debit is reversed. |
Refunds
Details: Refunds.
| Status | Final | Webhook | Meaning |
|---|---|---|---|
pending |
No | — | Held for screening. |
processing |
No | — | Being paid. Also while Multigate reconciles a refund whose outcome at the bank is unclear, for example one the bank accepted and later reported failed; another refund of the same inflow gets 409 meanwhile. |
completed |
Yes | refund |
The sender was paid and your account debited. |
failed |
Yes | refund, except when the balance can't be reserved just before payment |
Not paid; your account isn't debited. |
Receivables
Details: Receivables.
| Status | Webhook | Meaning |
|---|---|---|
processing |
— | Account being opened. |
unpaid |
None: poll Get a receivable | Ready: give the payer funding. |
partially_ |
receivables / inflow and account / inflow |
Some money received; amountPaid is less than amount. |
paid |
receivables / inflow and account / inflow |
Exactly the invoice amount received. The account is closed and paidDate is set. A payment that arrives before the closure completes moves it to overpaid. |
overpaid |
receivables / inflow and account / inflow |
More than the invoice amount received. The account is closed. |
failed |
None: poll | The account couldn't be opened. |
Trade finance
Letters of credit and guarantees send no webhooks: poll the lists and details, or rely on the emails. Each record has a status and an approval (pending while waiting for an approver, then approved or rejected; empty on records nobody has acted on yet).
Letters of credit
Details: Letters of credit. Both types show it in lcStatus.
| Status | Export LC | Import LC | Final |
|---|---|---|---|
draft |
Manual record being prepared. | Application being prepared. | No |
pending |
Received from the bank, not yet advised. | Submitted, waiting for an approver. | No |
applied |
Approved and sent to your bank. | No | |
issued |
Issued by the bank. | No | |
advised |
Accepted into your records. | No | |
pending_ |
Amendment sent to the bank. | No | |
amended |
The bank's amendment is waiting for your response. | The bank accepted the amendment; waiting for the beneficiary. | No |
accepted_ |
You accepted the amendment. | The beneficiary accepted it. | No |
refused_ |
You refused the amendment. | The beneficiary refused it. | No |
rejected |
Declined by an approver. | Declined by an approver. | Yes |
processing, documents_, documents_, documents_, partially_, settled and closed only appear on manual records. An export LC can be amended again after accepted_ or refused_; an import LC in either status can't be amended or updated again through the API.
Guarantees
Details: Guarantees. Inward guarantees show it in guarantee, outward guarantees in status.
| Status | Inward | Outward | Final |
|---|---|---|---|
draft |
Manual record being prepared. | Application being prepared. | No |
pending |
Received from the bank, not yet advised. | Submitted, waiting for an approver. | No |
applied |
Approved and sent to your bank. | No | |
issued |
Issued by the bank. | No | |
advised |
Accepted into your records. | No | |
pending_ |
Amendment sent to the bank. | No | |
amended |
The bank's amendment is waiting for your response. | The bank accepted the amendment; waiting for the beneficiary. | No |
accepted_, refused_ |
Your response was sent. | The beneficiary accepted or refused it. | No |
rejected |
Declined by an approver. | Declined by an approver. | Yes |
An inward guarantee can be amended again after accepted_ or refused_; an outward guarantee in either status can't be amended or updated again through the API. Expiry, claims and discharges don't change the status automatically: expired, claimed, discharged, under_claim and similar values only appear on manual records.