> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lead.bank/llms.txt
> Use this file to discover all available pages before exploring further.

# Controls

> Block or allow transactions at the account number level.

## Overview

Manage ACH, Wires, Instant Payments, and Internal Transfers by choosing which transactions to allow or block for each account number.

### **How It Works**

Configure the controls through the create or update [Account number API](/api-reference/endpoint/account-number/create-an-account-number).

**Examples**

* To determine if incoming ACH credit is accepted, use `accept_credit`.
* To determine if incoming ACH debit is accepted, use `accept_debit`.

The `counterparty_filter`:

* `accept_all`
* `reject_all`
* `allowlist_only`

and the `counterparty_account_numbers_allowlist` determine which counterparties are allowed to send or receive payments.

### Default Behavior

If no controls are configured, the defaults will maintain the current permissive behavior:

* `accept_credit=true`
* `accept_debit=true`
* `counterparty_filter=accept_all`

<Tip>
  The API will automatically prevent contradictory configurations, such as `accept_credit=false` combined with `counterparty_filter=accept_all`.
</Tip>

### Handling Returns

When `accept_debit=false`, inbound ACH debits will be returned with return code:

* **R16:** Access to the account is restricted due to action taken by the RDFI.

<Note>
  For more return code details, view the [ACH Return & Rejections Codes guide](/api-integrations/ach/return-codes).
</Note>

### Microdeposits & Reversals

To support standard ACH account verification and reversal processes, the Lead system will continue to allow ACH microdeposits and reversals, even when account number controls are enabled. This ensures these processes continue to work smoothly while you maintain full control over all other ACH activity.

## Control Attributes

### ACH

| **Attribute**                                                    | **Description**                                                                                                                                                                                                                                                                                                   | **Type**         |
| ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| ach\_controls.originator\_id                                     | Identifier of the ACH originator associated with this account number.                                                                                                                                                                                                                                             | string           |
| ach\_controls.incoming.accept\_credit                            | Indicates whether this account number can receive ACH credits.                                                                                                                                                                                                                                                    | boolean          |
| ach\_controls.incoming.accept\_debit                             | Indicates whether this account number can receive ACH debits.                                                                                                                                                                                                                                                     | boolean          |
| ach\_controls.incoming.counterparty\_filter                      | Specifies which counterparties are allowed to send ACH transfers to this account number.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only` : Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked. | enum             |
| ach\_controls.incoming.counterparty\_company\_ids\_allowlist     | List of Company IDs permitted to send incoming ACH transfers when `counterparty_filter` is `allowlist_only`.                                                                                                                                                                                                      | array            |
| ach\_controls.outgoing.counterparty\_filter                      | Specifies which counterparties this account number is allowed to send ACH transfers to.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked.   | enum             |
| ach\_controls.outgoing.counterparty\_account\_numbers\_allowlist | List of permitted outgoing ACH counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`type`: Counterparty account type (e.g., `us_domestic`)<br /><br />`account_number`: Counterparty account number<br /><br />`routing_number`:  Counterparty routing number     | array of objects |

### Wire

| **Attribute**                                                                    | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **Type**         |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| wire\_controls.incoming.counterparty\_filter                                     | Specifies which counterparties are allowed to send wire transfers to this account number.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`:  All counterparties are blocked.                                                                                                                                                                                 | enum             |
| wire\_controls.incoming.counterparty\_account\_numbers\_allowlist                | List of permitted incoming wire counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`type`: Counterparty account type (e.g., `us_domestic`)<br /><br />`account_number`:  Counterparty account number<br /><br />`routing_number`: Counterparty routing number                                                                                                                                                                                     | array of objects |
| wire\_controls.outgoing.counterparty\_filter                                     | Specifies which counterparties this account number is allowed to send wire transfers to.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked.                                                                                                                                                                                   | enum             |
| wire\_controls.outgoing.counterparty\_account\_numbers\_allowlist                | List of permitted outgoing wire counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`type`: Counterparty account type (e.g., `us_domestic`)<br /><br />`account_number`: Counterparty account number<br /><br />`routing_number`: Counterparty routing number                                                                                                                                                                                      | array of objects |
| wire\_controls.outgoing\_international.counterparty\_filter                      | Specifies which counterparties this account number is allowed to send international wire transfers to. Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked.                                                                                                                                                                                | enum             |
| wire\_controls.outgoing\_international.counterparty\_account\_numbers\_allowlist | List of permitted outgoing international wire counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`business_identifier_code`: Identifier of the counterparty financial institution (8 or 11 character BIC)<br /><br />`account_identifier`: Account identifier for the counterparty, including:<br />`type`: Counterparty account identifier type (IBAN or `account_number`)<br />`value`: Counterparty account identifier value (1-34 characters) |                  |

### Instant Payment

| **Attribute**                                                                 | **Description**                                                                                                                                                                                                                                                                                                      | **Type**         |
| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| instant\_payment\_controls.incoming.counterparty\_filter                      | Specifies which counterparties are allowed to send instant payments to this account number.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`:  All counterparties are blocked. | enum             |
| instant\_payment\_controls.incoming.counterparty\_account\_numbers\_allowlist | List of permitted incoming instant payment counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`account_number`:  Counterparty account number<br /><br />`routing_number`: Counterparty routing number                                                               | array of objects |
| instant\_payment\_controls.outgoing.counterparty\_filter                      | Specifies which counterparties this account number is allowed to send instant payments to.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked.   | enum             |
| instant\_payment\_controls.outgoing.counterparty\_account\_numbers\_allowlist | List of permitted outgoing instant payment counterparties when `counterparty_filter` is `allowlist_only`.<br />Each entry includes:<br /><br />`account_number`: Counterparty account number<br /><br />`routing_number`: Counterparty routing number                                                                | array of objects |

### Internal Transfers

| **Attribute**                                                                       | **Description**                                                                                                                                                                                                                                                                                                        | **Type** |
| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| internal\_transfer\_controls.incoming.counterparty\_filter                          | Specifies which counterparties are allowed to send internal transfers to this account number.<br />Possible values:<br /><br />`accept_all`:  All counterparties are allowed.<br /><br />`allowlist_only`: Only explicitly listed counterparties are allowed.<br /><br />`reject_all`: All counterparties are blocked. | enum     |
| internal\_transfer\_controls.incoming.counterparty\_account\_number\_ids\_allowlist | List of permitted sending `account_number_id` values when `counterparty_filter` is `allowlist_only`.                                                                                                                                                                                                                   | array    |
| internal\_transfer\_controls.outgoing.counterparty\_filter                          | Specifies which counterparties this account number is allowed to send internal transfers to.<br />Possible values:<br /><br />`accept_all`: All counterparties are allowed.<br /><br />`allowlist_only`:  Only explicitly listed counterparties are allowed.<br /><br />`reject_all`:  All counterparties are blocked. | enum     |
| internal\_transfer\_controls.outgoing.counterparty\_account\_number\_ids\_allowlist | List of permitted receiving `account_number_id` values when `counterparty_filter` is `allowlist_only`.                                                                                                                                                                                                                 | array    |
| created\_at                                                                         | Timestamp the account number object was created, in ISO 8601 format.                                                                                                                                                                                                                                                   | string   |
| updated\_at                                                                         | Timestamp when the account number object was last updated, in ISO 8601 format.                                                                                                                                                                                                                                         | string   |
