API Reference

The Increase API is organized around REST. It has predictable resource-oriented URLs, accepts and returns JSON-encoded payloads, and uses standard HTTP response codes, authentication, and verbs.

 

While we're continually adding new features to the API, we're committed to doing so in a way that doesn't break existing integrations. You can read more in our versioning and backwards compatibility guide.

Authorization and Testing

The API accepts Bearer Authentication. When you sign up for an Increase account, we make you a pair of API keys: one for production and one for our sandbox environment in which no real money moves. You can create and revoke API keys from the dashboard and should securely store them using a secret management system.

Production API requests should be to https://api.increase.com and sandbox requests should be to https://sandbox.increase.com. We'll put these into environment variables to make our code examples easier to follow.

In the sandbox:
INCREASE_API_KEY="sandbox_key_1234567890" INCREASE_URL="https://sandbox.increase.com"
In production (you'll need to retrieve your API key from the dashboard):
INCREASE_API_KEY="secret_key_1234567890" INCREASE_URL="https://api.increase.com"
You can then make an API request like this using cURL:
curl --url "${INCREASE_URL}" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
OpenAPI

This reference also exists in OpenAPI 3 format. This spec is in beta and subject to change. If you find it useful, or have feedback, let us know!

Software Development Kits

Increase maintains open source SDKs for TypeScript, Python, Go, Java, and Kotlin. Check out the documentation here or read the source code on Github.

OAuth

If you're interested in building an application that connects to other Increase users' data, you can build an OAuth application. Learn more about this in our OAuth guide.

Requests and Responses

When making a POST request to the API, use a Content-Type of application/json and specify parameters via JSON in the request body:

When making a GET request to the API, you should specify parameters in the query string of the URL. Join nested parameters, such as timestamp-based filters, with a . – for example, created_at.before:

All responses from the API will have a Content-Type of application/json.

POST request
curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }'
GET request
curl \ --url "${INCREASE_URL}/transactions?created_at.before=2022-01-15T06:34:23Z&created_at.after=2022-01-08T06:34:16Z" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Object Lists

List endpoints return a wrapper object with the data and a cursor. The API will return the next page of results if you submit the next_cursor as a query parameter with the name cursor. Any filter parameters passed to the original list request must be included if next_cursor is specified. The maximum (and default) page size is 100 objects. You can adjust it using the limit parameter.

{ "data": [], "next_cursor": "RWFzdGVyIGVnZw==" }
Errors

The API uses standard HTTP response codes to indicate the success or failure of requests. Codes in the 2xx range indicate success; codes in the 4xx and 5xx range indicate errors. Error objects conform to RFC 9457 and can be distinguished by their type attribute. Errors will always have the same shape.

Attributes
detail
string
Nullable

Additional information about this particular error.

status
string

The HTTP status code of the error is also included in the response body for easier debugging.

title
string

A human-readable string explaining the type of error.

type
enum

The type of error that occurred. This is a machine-readable enum.

{ "detail": "There's an insufficient balance in the account.", "status": "400", "title": "The action you specified can't be performed on the object in its current state.", "type": "invalid_operation_error" }
Idempotency

The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. For example, if a request to create an ACH Transfer does not respond due to a network connection error, you can retry the request with the same idempotency key to guarantee that no more than one transfer is created.

To perform an idempotent request, provide an additional, unique Idempotency-Key request header per intended request. POST endpoints also allow passing idempotency_key as a JSON parameter. Read more about Increase's idempotency keys.

curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H 'Idempotency-Key: RANDOM_UUID' \ -H 'Content-Type: application/json' \ -d $'{ "name": "New Account!" }'
Sandbox Simulations

When building your application, you can use these APIs to simulate external effects. They can be helpful to quickly test events that might take several hours in the real world (like receiving a wire or ACH). These APIs will only work in the sandbox. If you have a sandbox Event Subscription configured, calling these APIs will also result in the appropriate webhooks being sent to your endpoint.

Accounts

Accounts are your bank accounts with Increase. They store money, receive transfers, and send payments. They earn interest and have depository insurance.

The Account object
{ "bank": "first_internet_bank", "closed_at": null, "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "entity_id": "entity_n8y8tnk2p9339ti393yi", "id": "account_in71c4amph0vgo2qllky", "idempotency_key": null, "informational_entity_id": null, "interest_accrued": "0.01", "interest_accrued_at": "2020-01-31", "interest_rate": "0.055", "name": "My first account!", "program_id": "program_i2v2os4mwza1oetokh9i", "replacement": { "replaced_account_id": null, "replaced_by_account_id": null }, "status": "open", "type": "account" }
Attributes
bank
enum

The bank the Account is with.

closed_at
string
Nullable

The ISO 8601 time at which the Account was closed.

created_at
string

The ISO 8601 time at which the Account was created.

currency
enum

The ISO 4217 code for the Account currency.

entity_id
string
Nullable

The identifier for the Entity the Account belongs to.

id
string

The Account identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

informational_entity_id
string
Nullable

The identifier of an Entity that, while not owning the Account, is associated with its activity.

interest_accrued
string

The interest accrued but not yet paid, expressed as a string containing a floating-point value.

interest_accrued_at
string
Nullable

The latest ISO 8601 date on which interest was accrued.

interest_rate
string

The Interest Rate currently being earned on the account, as a string containing a decimal number. For example, a 1% interest rate would be represented as "0.01".

name
string

The name you choose for the Account.

program_id
string

The identifier of the Program determining the compliance and commercial terms of this Account.

status
enum

The status of the Account.

type
string

A constant representing the object's type. For this resource it will always be account.

List Accounts
curl \ --url "${INCREASE_URL}/accounts?entity_id=entity_n8y8tnk2p9339ti393yi" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

entity_id
string

Filter Accounts for those belonging to the specified Entity.

informational_entity_id
string

Filter Accounts for those belonging to the specified Entity as informational.

program_id
string

Filter Accounts for those in a specific Program.

status
enum

Filter Accounts for those with the specified status.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
Create an Account
curl -X "POST" \ --url "${INCREASE_URL}/accounts" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "entity_id": "entity_n8y8tnk2p9339ti393yi", "name": "New Account!", "program_id": "program_i2v2os4mwza1oetokh9i" }'
Parameters
entity_id
string

The identifier for the Entity that will own the Account.

informational_entity_id
string

The identifier of an Entity that, while not owning the Account, is associated with its activity. Its relationship to your group must be informational.

name
string
Required

The name you choose for the Account.

200 character maximum
program_id
string

The identifier for the Program that this Account falls under. Required if you operate more than one Program.

Retrieve an Account
curl \ --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_id
string
Required

The identifier of the Account to retrieve.

Update an Account
curl -X "PATCH" \ --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "name": "My renamed account" }'
Parameters
account_id
string
Required

The identifier of the Account to update.

name
string

The new name of the Account.

200 character maximum
Retrieve an Account Balance
curl \ --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky/balance" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Returns a Balance Lookup object:
{ "account_id": "account_in71c4amph0vgo2qllky", "available_balance": 100, "current_balance": 100, "type": "balance_lookup" }
Parameters
account_id
string
Required

The identifier of the Account to retrieve.

at_time
string

The moment to query the balance at. If not set, returns the current balances.

Close an Account
curl -X "POST" \ --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky/close" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_id
string
Required

The identifier of the Account to close. The account must have a zero balance.

Sandbox: Create an interest payment

Simulates an interest payment to your account. In production, this happens automatically on the first of each month.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/interest_payments" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 1000 }'
Returns a Transaction object:
{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 100, "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "description": "INVOICE 2468", "id": "transaction_uyrp7fld2ium70oa7oi", "route_id": "account_number_v18nkfqm6afpsrvy82b2", "route_type": "account_number", "source": { "category": "inbound_ach_transfer", "inbound_ach_transfer": { "addenda": null, "amount": 100, "originator_company_descriptive_date": null, "originator_company_discretionary_data": null, "originator_company_entry_description": "RESERVE", "originator_company_id": "0987654321", "originator_company_name": "BIG BANK", "receiver_id_number": "12345678900", "receiver_name": "IAN CREASE", "trace_number": "021000038461022", "transfer_id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev" } }, "type": "transaction" }
Parameters
account_id
string
Required

The identifier of the Account Number the Interest Payment is for.

amount
integer
Required

The interest amount in cents. Must be positive.

period_end
string

The end of the interest period. If not provided, defaults to the current time.

period_start
string

The start of the interest period. If not provided, defaults to the current time.

Account Numbers

Each account can have multiple account and routing numbers. We recommend that you use a set per vendor. This is similar to how you use different passwords for different websites. Account numbers can also be used to seamlessly reconcile inbound payments. Generating a unique account number per vendor ensures you always know the originator of an incoming payment.

The Account Number object
{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "created_at": "2020-01-31T23:59:59Z", "id": "account_number_v18nkfqm6afpsrvy82b2", "idempotency_key": null, "inbound_ach": { "debit_status": "blocked" }, "inbound_checks": { "status": "check_transfers_only" }, "name": "ACH", "replacement": { "replaced_account_number_id": null, "replaced_by_account_number_id": null }, "routing_number": "101050001", "status": "active", "type": "account_number" }
Attributes
account_id
string

The identifier for the account this Account Number belongs to.

account_number
string

The account number.

created_at
string

The ISO 8601 time at which the Account Number was created.

id
string

The Account Number identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

inbound_ach
dictionary

Properties related to how this Account Number handles inbound ACH transfers.

inbound_checks
dictionary

Properties related to how this Account Number should handle inbound check withdrawals.

name
string

The name you choose for the Account Number.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN).

status
enum

This indicates if payments can be made to the Account Number.

type
string

A constant representing the object's type. For this resource it will always be account_number.

List Account Numbers
curl \ --url "${INCREASE_URL}/account_numbers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

status
enum

The status to retrieve Account Numbers for.

ach_debit_status
enum

The ACH Debit status to retrieve Account Numbers for.

account_id
string

Filter Account Numbers to those belonging to the specified Account.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
Create an Account Number
curl -X "POST" \ --url "${INCREASE_URL}/account_numbers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "name": "Rent payments" }'
Parameters
account_id
string
Required

The Account the Account Number should belong to.

inbound_ach
dictionary

Options related to how this Account Number should handle inbound ACH transfers.

inbound_checks
dictionary

Options related to how this Account Number should handle inbound check withdrawals.

name
string
Required

The name you choose for the Account Number.

200 character maximum
Retrieve an Account Number
curl \ --url "${INCREASE_URL}/account_numbers/account_number_v18nkfqm6afpsrvy82b2" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_number_id
string
Required

The identifier of the Account Number to retrieve.

Update an Account Number
curl -X "PATCH" \ --url "${INCREASE_URL}/account_numbers/account_number_v18nkfqm6afpsrvy82b2" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "inbound_ach": { "debit_status": "blocked" }, "status": "disabled" }'
Parameters
account_number_id
string
Required

The identifier of the Account Number.

inbound_ach
dictionary

Options related to how this Account Number handles inbound ACH transfers.

inbound_checks
dictionary

Options related to how this Account Number should handle inbound check withdrawals.

name
string

The name you choose for the Account Number.

200 character maximum
status
enum

This indicates if transfers can be made to the Account Number.

Transactions

Transactions are the immutable additions and removals of money from your bank account. They're the equivalent of line items on your bank statement.

The Transaction object
{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 100, "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "description": "INVOICE 2468", "id": "transaction_uyrp7fld2ium70oa7oi", "route_id": "account_number_v18nkfqm6afpsrvy82b2", "route_type": "account_number", "source": { "category": "inbound_ach_transfer", "inbound_ach_transfer": { "addenda": null, "amount": 100, "originator_company_descriptive_date": null, "originator_company_discretionary_data": null, "originator_company_entry_description": "RESERVE", "originator_company_id": "0987654321", "originator_company_name": "BIG BANK", "receiver_id_number": "12345678900", "receiver_name": "IAN CREASE", "trace_number": "021000038461022", "transfer_id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev" } }, "type": "transaction" }
Attributes
account_id
string

The identifier for the Account the Transaction belongs to.

amount
integer

The Transaction amount in the minor unit of its currency. For dollars, for example, this is cents.

created_at
string

The ISO 8601 date on which the Transaction occurred.

currency
enum

The ISO 4217 code for the Transaction's currency. This will match the currency on the Transaction's Account.

description
string

An informational message describing this transaction. Use the fields in source to get more detailed information. This field appears as the line-item on the statement.

id
string

The Transaction identifier.

route_id
string
Nullable

The identifier for the route this Transaction came through. Routes are things like cards and ACH details.

route_type
enum
Nullable

The type of the route this Transaction came through.

source
dictionary

This is an object giving more details on the network-level event that caused the Transaction. Note that for backwards compatibility reasons, additional undocumented keys may appear in this object. These should be treated as deprecated and will be removed in the future.

type
string

A constant representing the object's type. For this resource it will always be transaction.

List Transactions
curl \ --url "${INCREASE_URL}/transactions" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter Transactions for those belonging to the specified Account.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

category.in
array of strings

Return results whose value is in the provided list. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.

route_id
string

Filter Transactions for those belonging to the specified route. This could be a Card ID or an Account Number ID.

Retrieve a Transaction
curl \ --url "${INCREASE_URL}/transactions/transaction_uyrp7fld2ium70oa7oi" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
transaction_id
string
Required

The identifier of the Transaction to retrieve.

Pending Transactions

Pending Transactions are potential future additions and removals of money from your bank account.

The Pending Transaction object
{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 100, "completed_at": null, "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "description": "INVOICE 2468", "id": "pending_transaction_k1sfetcau2qbvjbzgju4", "route_id": "card_oubs0hwk5rn6knuecxg2", "route_type": "card", "source": { "ach_transfer_instruction": { "amount": 100, "transfer_id": "ach_transfer_uoxatyh3lt5evrsdvo7q" }, "category": "ach_transfer_instruction" }, "status": "pending", "type": "pending_transaction" }
Attributes
account_id
string

The identifier for the account this Pending Transaction belongs to.

amount
integer

The Pending Transaction amount in the minor unit of its currency. For dollars, for example, this is cents.

completed_at
string
Nullable

The ISO 8601 date on which the Pending Transaction was completed.

created_at
string

The ISO 8601 date on which the Pending Transaction occurred.

currency
enum

The ISO 4217 code for the Pending Transaction's currency. This will match the currency on the Pending Transaction's Account.

description
string

For a Pending Transaction related to a transfer, this is the description you provide. For a Pending Transaction related to a payment, this is the description the vendor provides.

id
string

The Pending Transaction identifier.

route_id
string
Nullable

The identifier for the route this Pending Transaction came through. Routes are things like cards and ACH details.

route_type
enum
Nullable

The type of the route this Pending Transaction came through.

source
dictionary

This is an object giving more details on the network-level event that caused the Pending Transaction. For example, for a card transaction this lists the merchant's industry and location.

status
enum

Whether the Pending Transaction has been confirmed and has an associated Transaction.

type
string

A constant representing the object's type. For this resource it will always be pending_transaction.

List Pending Transactions
curl \ --url "${INCREASE_URL}/pending_transactions" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter pending transactions to those belonging to the specified Account.

route_id
string

Filter pending transactions to those belonging to the specified Route.

category.in
array of strings

Return results whose value is in the provided list. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.

status.in
array of strings

Filter Pending Transactions for those with the specified status. By default only Pending Transactions in with status pending will be returned. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

Retrieve a Pending Transaction
curl \ --url "${INCREASE_URL}/pending_transactions/pending_transaction_k1sfetcau2qbvjbzgju4" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
pending_transaction_id
string
Required

The identifier of the Pending Transaction.

Sandbox: Release an Inbound Funds Hold

This endpoint simulates immediately releasing an Inbound Funds Hold, which might be created as a result of e.g., an ACH debit.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/inbound_funds_holds/inbound_funds_hold_9vuasmywdo7xb3zt4071/release" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Returns a Inbound Funds Hold object:
{ "amount": 100, "automatically_releases_at": "2020-01-31T23:59:59Z", "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "held_transaction_id": "transaction_uyrp7fld2ium70oa7oi", "id": "inbound_funds_hold_9vuasmywdo7xb3zt4071", "pending_transaction_id": "pending_transaction_k1sfetcau2qbvjbzgju4", "released_at": null, "status": "held", "type": "inbound_funds_hold" }
Parameters
inbound_funds_hold_id
string
Required

The inbound funds hold to release.

Declined Transactions

Declined Transactions are refused additions and removals of money from your bank account. For example, Declined Transactions are caused when your Account has an insufficient balance or your Limits are triggered.

The Declined Transaction object
{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 1750, "created_at": "2020-01-31T23:59:59Z", "currency": "USD", "description": "INVOICE 2468", "id": "declined_transaction_17jbn0yyhvkt4v4ooym8", "route_id": "account_number_v18nkfqm6afpsrvy82b2", "route_type": "account_number", "source": { "ach_decline": { "amount": 1750, "id": "ach_decline_72v1mcwxudctq56efipa", "inbound_ach_transfer_id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev", "originator_company_descriptive_date": null, "originator_company_discretionary_data": null, "originator_company_id": "0987654321", "originator_company_name": "BIG BANK", "reason": "insufficient_funds", "receiver_id_number": "12345678900", "receiver_name": "IAN CREASE", "trace_number": "021000038461022", "type": "ach_decline" }, "category": "ach_decline" }, "type": "declined_transaction" }
Attributes
account_id
string

The identifier for the Account the Declined Transaction belongs to.

amount
integer

The Declined Transaction amount in the minor unit of its currency. For dollars, for example, this is cents.

created_at
string

The ISO 8601 date on which the Transaction occurred.

currency
enum

The ISO 4217 code for the Declined Transaction's currency. This will match the currency on the Declined Transaction's Account.

description
string

This is the description the vendor provides.

id
string

The Declined Transaction identifier.

route_id
string
Nullable

The identifier for the route this Declined Transaction came through. Routes are things like cards and ACH details.

route_type
enum
Nullable

The type of the route this Declined Transaction came through.

source
dictionary

This is an object giving more details on the network-level event that caused the Declined Transaction. For example, for a card transaction this lists the merchant's industry and location. Note that for backwards compatibility reasons, additional undocumented keys may appear in this object. These should be treated as deprecated and will be removed in the future.

type
string

A constant representing the object's type. For this resource it will always be declined_transaction.

List Declined Transactions
curl \ --url "${INCREASE_URL}/declined_transactions" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter Declined Transactions to ones belonging to the specified Account.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

route_id
string

Filter Declined Transactions to those belonging to the specified route.

category.in
array of strings

Return results whose value is in the provided list. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.

Retrieve a Declined Transaction
curl \ --url "${INCREASE_URL}/declined_transactions/declined_transaction_17jbn0yyhvkt4v4ooym8" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
declined_transaction_id
string
Required

The identifier of the Declined Transaction.

Account Transfers

Account transfers move funds between your own accounts at Increase.

The Account Transfer object
{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 100, "approval": { "approved_at": "2020-01-31T23:59:59Z", "approved_by": null }, "cancellation": null, "created_at": "2020-01-31T23:59:59Z", "created_by": { "category": "user", "user": { "email": "user@example.com" } }, "currency": "USD", "description": "Move money into savings", "destination_account_id": "account_uf16sut2ct5bevmq3eh", "destination_transaction_id": "transaction_j3itv8dtk5o8pw3p1xj4", "id": "account_transfer_7k9qe1ysdgqztnt63l7n", "idempotency_key": null, "network": "account", "pending_transaction_id": null, "status": "complete", "transaction_id": "transaction_uyrp7fld2ium70oa7oi", "type": "account_transfer" }
Attributes
account_id
string

The Account to which the transfer belongs.

amount
integer

The transfer amount in the minor unit of the destination account currency. For dollars, for example, this is cents.

approval
dictionary
Nullable

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

cancellation
dictionary
Nullable

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

created_at
string

The ISO 8601 date and time at which the transfer was created.

created_by
dictionary
Nullable

What object created the transfer, either via the API or the dashboard.

currency
enum

The ISO 4217 code for the destination account currency.

description
string

The description that will show on the transactions.

destination_account_id
string

The destination account's identifier.

destination_transaction_id
string
Nullable

The ID for the transaction receiving the transfer.

id
string

The account transfer's identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

network
string

The transfer's network.

pending_transaction_id
string
Nullable

The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer requires approval by someone else in your organization.

status
enum

The lifecycle status of the transfer.

transaction_id
string
Nullable

The ID for the transaction funding the transfer.

type
string

A constant representing the object's type. For this resource it will always be account_transfer.

List Account Transfers
curl \ --url "${INCREASE_URL}/account_transfers?account_id=account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter Account Transfers to those that originated from the specified Account.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

Create an Account Transfer
curl -X "POST" \ --url "${INCREASE_URL}/account_transfers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "amount": 100, "description": "Creating liquidity", "destination_account_id": "account_uf16sut2ct5bevmq3eh" }'
Parameters
account_id
string
Required

The identifier for the account that will send the transfer.

amount
integer
Required

The transfer amount in the minor unit of the account currency. For dollars, for example, this is cents.

description
string
Required

The description you choose to give the transfer.

200 character maximum
destination_account_id
string
Required

The identifier for the account that will receive the transfer.

require_approval
boolean

Whether the transfer requires explicit approval via the dashboard or API.

Retrieve an Account Transfer
curl \ --url "${INCREASE_URL}/account_transfers/account_transfer_7k9qe1ysdgqztnt63l7n" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_transfer_id
string
Required

The identifier of the Account Transfer.

Approve an Account Transfer
curl -X "POST" \ --url "${INCREASE_URL}/account_transfers/account_transfer_7k9qe1ysdgqztnt63l7n/approve" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_transfer_id
string
Required

The identifier of the Account Transfer to approve.

Cancel an Account Transfer
curl -X "POST" \ --url "${INCREASE_URL}/account_transfers/account_transfer_7k9qe1ysdgqztnt63l7n/cancel" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_transfer_id
string
Required

The identifier of the pending Account Transfer to cancel.

Sandbox: Approve an Account Transfer

If your account is configured to require approval for each transfer, this endpoint simulates the approval of an Account Transfer. You can also approve sandbox Account Transfers in the dashboard. This transfer must first have a status of pending_approval.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/account_transfers/account_transfer_7k9qe1ysdgqztnt63l7n/complete" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
account_transfer_id
string
Required

The identifier of the Account Transfer you wish to complete.

ACH Transfers

ACH transfers move funds between your Increase account and any other account accessible by the Automated Clearing House (ACH).

The ACH Transfer object
{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "acknowledgement": { "acknowledged_at": "2020-01-31T23:59:59Z" }, "addenda": null, "amount": 100, "approval": { "approved_at": "2020-01-31T23:59:59Z", "approved_by": null }, "cancellation": null, "company_descriptive_date": null, "company_discretionary_data": null, "company_entry_description": null, "company_name": "National Phonograph Company", "created_at": "2020-01-31T23:59:59Z", "created_by": { "category": "user", "user": { "email": "user@example.com" } }, "currency": "USD", "destination_account_holder": "business", "effective_date": null, "external_account_id": "external_account_ukk55lr923a3ac0pp7iv", "funding": "checking", "id": "ach_transfer_uoxatyh3lt5evrsdvo7q", "idempotency_key": null, "inbound_funds_hold": null, "individual_id": null, "individual_name": "Ian Crease", "network": "ach", "notifications_of_change": [], "pending_transaction_id": null, "preferred_effective_date": { "date": null, "settlement_schedule": "same_day" }, "return": null, "routing_number": "101050001", "settlement": null, "standard_entry_class_code": "corporate_credit_or_debit", "statement_descriptor": "Statement descriptor", "status": "returned", "submission": { "effective_date": "2020-01-31", "expected_funds_settlement_at": "2020-02-03T13:30:00Z", "expected_settlement_schedule": "future_dated", "submitted_at": "2020-01-31T23:59:59Z", "trace_number": "058349238292834" }, "transaction_id": "transaction_uyrp7fld2ium70oa7oi", "type": "ach_transfer" }
Attributes
account_id
string

The Account to which the transfer belongs.

account_number
string

The destination account number.

acknowledgement
dictionary
Nullable

After the transfer is acknowledged by FedACH, this will contain supplemental details. The Federal Reserve sends an acknowledgement message for each file that Increase submits.

addenda
dictionary
Nullable

Additional information that will be sent to the recipient.

amount
integer

The transfer amount in USD cents. A positive amount indicates a credit transfer pushing funds to the receiving account. A negative amount indicates a debit transfer pulling funds from the receiving account.

approval
dictionary
Nullable

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

cancellation
dictionary
Nullable

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

company_descriptive_date
string
Nullable

The description of the date of the transfer.

company_discretionary_data
string
Nullable

The data you chose to associate with the transfer.

company_entry_description
string
Nullable

The description of the transfer you set to be shown to the recipient.

company_name
string
Nullable

The name by which the recipient knows you.

created_at
string

The ISO 8601 date and time at which the transfer was created.

created_by
dictionary
Nullable

What object created the transfer, either via the API or the dashboard.

currency
enum

The ISO 4217 code for the transfer's currency. For ACH transfers this is always equal to usd.

destination_account_holder
enum

The type of entity that owns the account to which the ACH Transfer is being sent.

external_account_id
string
Nullable

The identifier of the External Account the transfer was made to, if any.

funding
enum

The type of the account to which the transfer will be sent.

id
string

The ACH transfer's identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

inbound_funds_hold
dictionary
Nullable

Increase will sometimes hold the funds for ACH debit transfers. If funds are held, this sub-object will contain details of the hold.

individual_id
string
Nullable

Your identifier for the transfer recipient.

individual_name
string
Nullable

The name of the transfer recipient. This value is information and not verified by the recipient's bank.

network
string

The transfer's network.

notifications_of_change
array

If the receiving bank accepts the transfer but notifies that future transfers should use different details, this will contain those details.

pending_transaction_id
string
Nullable

The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer requires approval by someone else in your organization.

preferred_effective_date
dictionary

Configuration for how the effective date of the transfer will be set. This determines same-day vs future-dated settlement timing. If not set, defaults to a settlement_schedule of same_day. If set, exactly one of the child attributes must be set.

return
dictionary
Nullable

If your transfer is returned, this will contain details of the return.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN).

settlement
dictionary
Nullable

A subhash containing information about when and how the transfer settled at the Federal Reserve.

standard_entry_class_code
enum

The Standard Entry Class (SEC) code to use for the transfer.

statement_descriptor
string

The descriptor that will show on the recipient's bank statement.

status
enum

The lifecycle status of the transfer.

submission
dictionary
Nullable

After the transfer is submitted to FedACH, this will contain supplemental details. Increase batches transfers and submits a file to the Federal Reserve roughly every 30 minutes. The Federal Reserve processes ACH transfers during weekdays according to their posted schedule.

transaction_id
string
Nullable

The ID for the transaction funding the transfer.

type
string

A constant representing the object's type. For this resource it will always be ach_transfer.

List ACH Transfers
curl \ --url "${INCREASE_URL}/ach_transfers?account_id=account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter ACH Transfers to those that originated from the specified Account.

external_account_id
string

Filter ACH Transfers to those made to the specified External Account.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

Create an ACH Transfer
curl -X "POST" \ --url "${INCREASE_URL}/ach_transfers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "amount": 100, "routing_number": "101050001", "statement_descriptor": "New ACH transfer" }'
Parameters
account_id
string
Required

The Increase identifier for the account that will send the transfer.

account_number
string

The account number for the destination account.

17 character maximum
addenda
dictionary

Additional information that will be sent to the recipient. This is included in the transfer data sent to the receiving bank.

amount
integer
Required

The transfer amount in USD cents. A positive amount originates a credit transfer pushing funds to the receiving account. A negative amount originates a debit transfer pulling funds from the receiving account.

company_descriptive_date
string

The description of the date of the transfer, usually in the format YYMMDD. This is included in the transfer data sent to the receiving bank.

6 character maximum
company_discretionary_data
string

The data you choose to associate with the transfer. This is included in the transfer data sent to the receiving bank.

20 character maximum
company_entry_description
string

A description of the transfer. This is included in the transfer data sent to the receiving bank.

10 character maximum
company_name
string

The name by which the recipient knows you. This is included in the transfer data sent to the receiving bank.

16 character maximum
destination_account_holder
enum

The type of entity that owns the account to which the ACH Transfer is being sent.

external_account_id
string

The ID of an External Account to initiate a transfer to. If this parameter is provided, account_number, routing_number, and funding must be absent.

funding
enum

The type of the account to which the transfer will be sent.

individual_id
string

Your identifier for the transfer recipient.

15 character maximum
individual_name
string

The name of the transfer recipient. This value is informational and not verified by the recipient's bank.

22 character maximum
preferred_effective_date
dictionary

Configuration for how the effective date of the transfer will be set. This determines same-day vs future-dated settlement timing. If not set, defaults to a settlement_schedule of same_day. If set, exactly one of the child attributes must be set.

require_approval
boolean

Whether the transfer requires explicit approval via the dashboard or API.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN) for the destination account.

9 character maximum
standard_entry_class_code
enum

The Standard Entry Class (SEC) code to use for the transfer.

statement_descriptor
string
Required

A description you choose to give the transfer. This will be saved with the transfer details, displayed in the dashboard, and returned by the API. If individual_name and company_name are not explicitly set by this API, the statement_descriptor will be sent in those fields to the receiving bank to help the customer recognize the transfer. You are highly encouraged to pass individual_name and company_name instead of relying on this fallback.

200 character maximum
transaction_timing
enum

The timing of the transaction.

Retrieve an ACH Transfer
curl \ --url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer.

Approve an ACH Transfer

Approves an ACH Transfer in a pending_approval state.

curl -X "POST" \ --url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/approve" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer to approve.

Cancel a pending ACH Transfer

Cancels an ACH Transfer in a pending_approval state.

curl -X "POST" \ --url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/cancel" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the pending ACH Transfer to cancel.

Sandbox: Acknowledge an ACH Transfer

Simulates the acknowledgement of an ACH Transfer by the Federal Reserve. This transfer must first have a status of submitted . In production, the Federal Reserve generally acknowledges submitted ACH files within 30 minutes. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and add the acknowledgment subresource to the ACH Transfer.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/acknowledge" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer you wish to become acknowledged.

Sandbox: Create a Notification of Change for an ACH Transfer

Simulates receiving a Notification of Change for an ACH Transfer.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/create_notification_of_change" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "change_code": "incorrect_routing_number", "corrected_data": "123456789" }'
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer you wish to create a notification of change for.

change_code
enum
Required

The reason for the notification of change.

corrected_data
string
Required

The corrected data for the notification of change (e.g., a new routing number).

200 character maximum
Sandbox: Return an ACH Transfer

Simulates the return of an ACH Transfer by the Federal Reserve due to an error condition. This will also create a Transaction to account for the returned funds. This transfer must first have a status of submitted.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/return" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{}'
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer you wish to return.

reason
enum

The reason why the Federal Reserve or destination bank returned this transfer. Defaults to no_account.

Sandbox: Settle an ACH Transfer

Simulates the settlement of an ACH Transfer by the Federal Reserve. This transfer must first have a status of submitted. Without this simulation the transfer will eventually settle on its own following the same Federal Reserve timeline as in production.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/settle" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer you wish to become settled.

Sandbox: Submit an ACH Transfer

Simulates the submission of an ACH Transfer to the Federal Reserve. This transfer must first have a status of pending_approval or pending_submission. In production, Increase submits ACH Transfers to the Federal Reserve three times per day on weekdays. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and transition the ACH Transfer to a status of submitted.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/submit" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_transfer_id
string
Required

The identifier of the ACH Transfer you wish to submit.

ACH Prenotifications

ACH Prenotifications are one way you can verify account and routing numbers by Automated Clearing House (ACH).

The ACH Prenotification object
{ "account_number": "987654321", "addendum": null, "company_descriptive_date": null, "company_discretionary_data": null, "company_entry_description": null, "company_name": null, "created_at": "2020-01-31T23:59:59Z", "credit_debit_indicator": null, "effective_date": null, "id": "ach_prenotification_ubjf9qqsxl3obbcn1u34", "idempotency_key": null, "notifications_of_change": [], "prenotification_return": null, "routing_number": "101050001", "status": "submitted", "type": "ach_prenotification" }
Attributes
account_number
string

The destination account number.

addendum
string
Nullable

Additional information for the recipient.

company_descriptive_date
string
Nullable

The description of the date of the notification.

company_discretionary_data
string
Nullable

Optional data associated with the notification.

company_entry_description
string
Nullable

The description of the notification.

company_name
string
Nullable

The name by which you know the company.

created_at
string

The ISO 8601 date and time at which the prenotification was created.

credit_debit_indicator
enum
Nullable

If the notification is for a future credit or debit.

effective_date
string
Nullable

The effective date in ISO 8601 format.

id
string

The ACH Prenotification's identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

notifications_of_change
array

If the receiving bank notifies that future transfers should use different details, this will contain those details.

prenotification_return
dictionary
Nullable

If your prenotification is returned, this will contain details of the return.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN).

status
enum

The lifecycle status of the ACH Prenotification.

type
string

A constant representing the object's type. For this resource it will always be ach_prenotification.

List ACH Prenotifications
curl \ --url "${INCREASE_URL}/ach_prenotifications" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

Create an ACH Prenotification
curl -X "POST" \ --url "${INCREASE_URL}/ach_prenotifications" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "routing_number": "101050001" }'
Parameters
account_id
string
Required

The Increase identifier for the account that will send the transfer.

account_number
string
Required

The account number for the destination account.

200 character maximum
addendum
string

Additional information that will be sent to the recipient.

80 character maximum
company_descriptive_date
string

The description of the date of the transfer.

6 character maximum
company_discretionary_data
string

The data you choose to associate with the transfer.

20 character maximum
company_entry_description
string

The description of the transfer you wish to be shown to the recipient.

10 character maximum
company_name
string

The name by which the recipient knows you.

16 character maximum
credit_debit_indicator
enum

Whether the Prenotification is for a future debit or credit.

effective_date
string

The transfer effective date in ISO 8601 format.

individual_id
string

Your identifier for the transfer recipient.

22 character maximum
individual_name
string

The name of the transfer recipient. This value is information and not verified by the recipient's bank.

22 character maximum
routing_number
string
Required

The American Bankers' Association (ABA) Routing Transit Number (RTN) for the destination account.

9 character maximum
standard_entry_class_code
enum

The Standard Entry Class (SEC) code to use for the ACH Prenotification.

Retrieve an ACH Prenotification
curl \ --url "${INCREASE_URL}/ach_prenotifications/ach_prenotification_ubjf9qqsxl3obbcn1u34" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
ach_prenotification_id
string
Required

The identifier of the ACH Prenotification to retrieve.

Inbound ACH Transfers

An Inbound ACH Transfer is an ACH transfer initiated outside of Increase to your account.

The Inbound ACH Transfer object
{ "acceptance": { "accepted_at": "2020-01-31T23:59:59Z", "transaction_id": "transaction_uyrp7fld2ium70oa7oi" }, "account_id": "account_in71c4amph0vgo2qllky", "account_number_id": "account_number_v18nkfqm6afpsrvy82b2", "addenda": null, "amount": 100, "automatically_resolves_at": "2020-01-31T23:59:59Z", "decline": null, "direction": "credit", "expected_settlement_schedule": "same_day", "id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev", "international_addenda": null, "notification_of_change": null, "originator_company_descriptive_date": "230401", "originator_company_discretionary_data": "WEB AUTOPAY", "originator_company_entry_description": "INVOICE 2468", "originator_company_id": "0987654321", "originator_company_name": "PAYROLL COMPANY", "originator_routing_number": "101050001", "receiver_id_number": null, "receiver_name": "Ian Crease", "standard_entry_class_code": "internet_initiated", "status": "accepted", "trace_number": "021000038461022", "transfer_return": null, "type": "inbound_ach_transfer" }
Attributes
acceptance
dictionary
Nullable

If your transfer is accepted, this will contain details of the acceptance.

account_id
string

The Account to which the transfer belongs.

account_number_id
string

The identifier of the Account Number to which this transfer was sent.

addenda
dictionary
Nullable

Additional information sent from the originator.

amount
integer

The transfer amount in USD cents.

automatically_resolves_at
string

The time at which the transfer will be automatically resolved.

decline
dictionary
Nullable

If your transfer is declined, this will contain details of the decline.

direction
enum

The direction of the transfer.

expected_settlement_schedule
enum

The settlement schedule the transfer is expected to follow.

id
string

The inbound ACH transfer's identifier.

international_addenda
dictionary
Nullable

If the Inbound ACH Transfer has a Standard Entry Class Code of IAT, this will contain fields pertaining to the International ACH Transaction.

notification_of_change
dictionary
Nullable

If you initiate a notification of change in response to the transfer, this will contain its details.

originator_company_descriptive_date
string
Nullable

The descriptive date of the transfer.

originator_company_discretionary_data
string
Nullable

The additional information included with the transfer.

originator_company_entry_description
string

The description of the transfer.

originator_company_id
string

The id of the company that initiated the transfer.

originator_company_name
string

The name of the company that initiated the transfer.

originator_routing_number
string

The American Banking Association (ABA) routing number of the bank originating the transfer.

receiver_id_number
string
Nullable

The id of the receiver of the transfer.

receiver_name
string
Nullable

The name of the receiver of the transfer.

standard_entry_class_code
enum

The Standard Entry Class (SEC) code of the transfer.

status
enum

The status of the transfer.

trace_number
string

The trace number of the transfer.

transfer_return
dictionary
Nullable

If your transfer is returned, this will contain details of the return.

type
string

A constant representing the object's type. For this resource it will always be inbound_ach_transfer.

List Inbound ACH Transfers
curl \ --url "${INCREASE_URL}/inbound_ach_transfers?account_id=account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter Inbound ACH Tranfers to ones belonging to the specified Account.

account_number_id
string

Filter Inbound ACH Tranfers to ones belonging to the specified Account Number.

created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

status
enum

Filter Inbound ACH Transfers to those with the specified status.

Retrieve an Inbound ACH Transfer
curl \ --url "${INCREASE_URL}/inbound_ach_transfers/inbound_ach_transfer_tdrwqr3fq9gnnq49odev" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
inbound_ach_transfer_id
string
Required

The identifier of the Inbound ACH Transfer to get details for.

Create a notification of change for an Inbound ACH Transfer
curl -X "POST" \ --url "${INCREASE_URL}/inbound_ach_transfers/inbound_ach_transfer_tdrwqr3fq9gnnq49odev/create_notification_of_change" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "updated_account_number": "987654321", "updated_routing_number": "101050001" }'
Parameters
inbound_ach_transfer_id
string
Required

The identifier of the Inbound ACH Transfer for which to create a notification of change.

updated_account_number
string

The updated account number to send in the notification of change.

200 character maximum
updated_routing_number
string

The updated routing number to send in the notification of change.

200 character maximum
Decline an Inbound ACH Transfer
curl -X "POST" \ --url "${INCREASE_URL}/inbound_ach_transfers/inbound_ach_transfer_tdrwqr3fq9gnnq49odev/decline" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "reason": "payment_stopped" }'
Parameters
inbound_ach_transfer_id
string
Required

The identifier of the Inbound ACH Transfer to decline.

reason
enum

The reason why this transfer will be returned. If this parameter is unset, the return codes will be payment_stopped for debits and credit_entry_refused_by_receiver for credits.

Return an Inbound ACH Transfer
curl -X "POST" \ --url "${INCREASE_URL}/inbound_ach_transfers/inbound_ach_transfer_tdrwqr3fq9gnnq49odev/transfer_return" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "reason": "payment_stopped" }'
Parameters
inbound_ach_transfer_id
string
Required

The identifier of the Inbound ACH Transfer to return to the originating financial institution.

reason
enum
Required

The reason why this transfer will be returned. The most usual return codes are payment_stopped for debits and credit_entry_refused_by_receiver for credits.

Sandbox: Create an Inbound ACH Transfer

Simulates an inbound ACH transfer to your account. This imitates initiating a transfer to an Increase account from a different financial institution. The transfer may be either a credit or a debit depending on if the amount is positive or negative. The result of calling this API will contain the created transfer. You can pass a resolve_at parameter to allow for a window to action on the Inbound ACH Transfer. Alternatively, if you don't pass the resolve_at parameter the result will contain either a Transaction or a Declined Transaction depending on whether or not the transfer is allowed.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/inbound_ach_transfers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_number_id": "account_number_v18nkfqm6afpsrvy82b2", "amount": 1000 }'
Parameters
account_number_id
string
Required

The identifier of the Account Number the inbound ACH Transfer is for.

amount
integer
Required

The transfer amount in cents. A positive amount originates a credit transfer pushing funds to the receiving account. A negative amount originates a debit transfer pulling funds from the receiving account.

company_descriptive_date
string

The description of the date of the transfer.

6 character maximum
company_discretionary_data
string

Data associated with the transfer set by the sender.

20 character maximum
company_entry_description
string

The description of the transfer set by the sender.

10 character maximum
company_id
string

The sender's company ID.

15 character maximum
company_name
string

The name of the sender.

16 character maximum
receiver_id_number
string

The ID of the receiver of the transfer.

200 character maximum
receiver_name
string

The name of the receiver of the transfer.

200 character maximum
resolve_at
string

The time at which the transfer should be resolved. If not provided will resolve immediately.

standard_entry_class_code
enum

The standard entry class code for the transfer.

Wire Transfers

Wire transfers move funds between your Increase account and any other account accessible by Fedwire.

The Wire Transfer object
{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "amount": 100, "approval": { "approved_at": "2020-01-31T23:59:59Z", "approved_by": null }, "beneficiary_address_line1": null, "beneficiary_address_line2": null, "beneficiary_address_line3": null, "beneficiary_name": null, "cancellation": null, "created_at": "2020-01-31T23:59:59Z", "created_by": { "category": "user", "user": { "email": "user@example.com" } }, "currency": "USD", "external_account_id": "external_account_ukk55lr923a3ac0pp7iv", "id": "wire_transfer_5akynk7dqsq25qwk9q2u", "idempotency_key": null, "message_to_recipient": "Message to recipient", "network": "wire", "originator_address_line1": null, "originator_address_line2": null, "originator_address_line3": null, "originator_name": null, "pending_transaction_id": null, "reversal": null, "routing_number": "101050001", "source_account_number_id": null, "status": "complete", "submission": null, "transaction_id": "transaction_uyrp7fld2ium70oa7oi", "type": "wire_transfer" }
Attributes
account_id
string

The Account to which the transfer belongs.

account_number
string

The destination account number.

amount
integer

The transfer amount in USD cents.

approval
dictionary
Nullable

If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.

beneficiary_address_line1
string
Nullable

The beneficiary's address line 1.

beneficiary_address_line2
string
Nullable

The beneficiary's address line 2.

beneficiary_address_line3
string
Nullable

The beneficiary's address line 3.

beneficiary_name
string
Nullable

The beneficiary's name.

cancellation
dictionary
Nullable

If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.

created_at
string

The ISO 8601 date and time at which the transfer was created.

created_by
dictionary
Nullable

What object created the transfer, either via the API or the dashboard.

currency
enum

The ISO 4217 code for the transfer's currency. For wire transfers this is always equal to usd.

external_account_id
string
Nullable

The identifier of the External Account the transfer was made to, if any.

id
string

The wire transfer's identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

message_to_recipient
string
Nullable

The message that will show on the recipient's bank statement.

network
string

The transfer's network.

originator_address_line1
string
Nullable

The originator's address line 1.

originator_address_line2
string
Nullable

The originator's address line 2.

originator_address_line3
string
Nullable

The originator's address line 3.

originator_name
string
Nullable

The originator's name.

pending_transaction_id
string
Nullable

The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer requires approval by someone else in your organization.

reversal
dictionary
Nullable

If your transfer is reversed, this will contain details of the reversal.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN).

source_account_number_id
string
Nullable

The Account Number that was passed to the wire's recipient.

status
enum

The lifecycle status of the transfer.

submission
dictionary
Nullable

After the transfer is submitted to Fedwire, this will contain supplemental details.

transaction_id
string
Nullable

The ID for the transaction funding the transfer.

type
string

A constant representing the object's type. For this resource it will always be wire_transfer.

Sandbox: Reverse a Wire Transfer

Simulates the reversal of a Wire Transfer by the Federal Reserve due to error conditions. This will also create a Transaction to account for the returned funds. This Wire Transfer must first have a status of complete.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/wire_transfers/wire_transfer_5akynk7dqsq25qwk9q2u/reverse" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
wire_transfer_id
string
Required

The identifier of the Wire Transfer you wish to reverse.

Sandbox: Submit a Wire Transfer

Simulates the submission of a Wire Transfer to the Federal Reserve. This transfer must first have a status of pending_approval or pending_creating.

curl -X "POST" \ --url "${INCREASE_URL}/simulations/wire_transfers/wire_transfer_5akynk7dqsq25qwk9q2u/submit" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
wire_transfer_id
string
Required

The identifier of the Wire Transfer you wish to submit.

List Wire Transfers
curl \ --url "${INCREASE_URL}/wire_transfers?account_id=account_in71c4amph0vgo2qllky" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
cursor
string

Return the page of entries after this one.

limit
integer

Limit the size of the list that is returned. The default (and maximum) is 100 objects.

account_id
string

Filter Wire Transfers to those belonging to the specified Account.

external_account_id
string

Filter Wire Transfers to those made to the specified External Account.

idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

200 character maximum
created_at.after
string

Return results after this ISO 8601 timestamp.

created_at.before
string

Return results before this ISO 8601 timestamp.

created_at.on_or_after
string

Return results on or after this ISO 8601 timestamp.

created_at.on_or_before
string

Return results on or before this ISO 8601 timestamp.

Create a Wire Transfer
curl -X "POST" \ --url "${INCREASE_URL}/wire_transfers" \ -H "Authorization: Bearer ${INCREASE_API_KEY}" \ -H "Content-Type: application/json" \ -d $'{ "account_id": "account_in71c4amph0vgo2qllky", "account_number": "987654321", "amount": 100, "beneficiary_address_line1": "33 Liberty Street", "beneficiary_address_line2": "New York", "beneficiary_address_line3": "NY 10045", "beneficiary_name": "Ian Crease", "message_to_recipient": "New account transfer", "routing_number": "101050001" }'
Parameters
account_id
string
Required

The identifier for the account that will send the transfer.

account_number
string

The account number for the destination account.

34 character maximum
amount
integer
Required

The transfer amount in USD cents.

beneficiary_address_line1
string

The beneficiary's address line 1.

35 character maximum
beneficiary_address_line2
string

The beneficiary's address line 2.

35 character maximum
beneficiary_address_line3
string

The beneficiary's address line 3.

35 character maximum
beneficiary_name
string
Required

The beneficiary's name.

35 character maximum
external_account_id
string

The ID of an External Account to initiate a transfer to. If this parameter is provided, account_number and routing_number must be absent.

message_to_recipient
string
Required

The message that will show on the recipient's bank statement.

140 character maximum
originator_address_line1
string

The originator's address line 1. This is only necessary if you're transferring from a commingled account. Otherwise, we'll use the associated entity's details.

35 character maximum
originator_address_line2
string

The originator's address line 2. This is only necessary if you're transferring from a commingled account. Otherwise, we'll use the associated entity's details.

35 character maximum
originator_address_line3
string

The originator's address line 3. This is only necessary if you're transferring from a commingled account. Otherwise, we'll use the associated entity's details.

35 character maximum
originator_name
string

The originator's name. This is only necessary if you're transferring from a commingled account. Otherwise, we'll use the associated entity's details.

35 character maximum
require_approval
boolean

Whether the transfer requires explicit approval via the dashboard or API.

routing_number
string

The American Bankers' Association (ABA) Routing Transit Number (RTN) for the destination account.

9 character maximum
source_account_number_id
string

The ID of an Account Number that will be passed to the wire's recipient

Retrieve a Wire Transfer
curl \ --url "${INCREASE_URL}/wire_transfers/wire_transfer_5akynk7dqsq25qwk9q2u" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
wire_transfer_id
string
Required

The identifier of the Wire Transfer.

Approve a Wire Transfer
curl -X "POST" \ --url "${INCREASE_URL}/wire_transfers/wire_transfer_5akynk7dqsq25qwk9q2u/approve" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
wire_transfer_id
string
Required

The identifier of the Wire Transfer to approve.

Cancel a pending Wire Transfer
curl -X "POST" \ --url "${INCREASE_URL}/wire_transfers/wire_transfer_5akynk7dqsq25qwk9q2u/cancel" \ -H "Authorization: Bearer ${INCREASE_API_KEY}"
Parameters
wire_transfer_id
string
Required

The identifier of the pending Wire Transfer to cancel.

Inbound Wire Transfers

An Inbound Wire Transfer is a wire transfer initiated outside of Increase to your account.

The Inbound Wire Transfer object
{ "account_id": "account_in71c4amph0vgo2qllky", "account_number_id": "account_number_v18nkfqm6afpsrvy82b2", "amount": 100, "beneficiary_address_line1": null, "beneficiary_address_line2": null, "beneficiary_address_line3": null, "beneficiary_name": null, "beneficiary_reference": null, "description": "Inbound wire transfer", "id": "inbound_wire_transfer_f228m6bmhtcxjco9pwp0", "input_message_accountability_data": null, "originator_address_line1": null, "originator_address_line2": null, "originator_address_line3": null, "originator_name": null, "originator_routing_number": null, "originator_to_beneficiary_information": null, "originator_to_beneficiary_information_line1": null, "originator_to_beneficiary_information_line2": null, "originator_to_beneficiary_information_line3": null, "originator_to_beneficiary_information_line4": null, "sender_reference": null, "status": "accepted", "type": "inbound_wire_transfer" }
Attributes
account_id
string

The Account to which the transfer belongs.

account_number_id
string

The identifier of the Account Number to which this transfer was sent.

amount
integer

The amount in USD cents.

beneficiary_address_line1
string
Nullable

A free-form address field set by the sender.

beneficiary_address_line2
string
Nullable

A free-form address field set by the sender.

beneficiary_address_line3
string
Nullable

A free-form address field set by the sender.

beneficiary_name
string
Nullable

A name set by the sender.

beneficiary_reference
string
Nullable

A free-form reference string set by the sender, to help identify the transfer.

description
string

An Increase-constructed description of the transfer.

id
string

The inbound wire transfer's identifier.

input_message_accountability_data
string
Nullable

A unique identifier available to the originating and receiving banks, commonly abbreviated as IMAD. It is created when the wire is submitted to the Fedwire service and is helpful when debugging wires with the originating bank.

originator_address_line1
string
Nullable

The address of the wire originator, set by the sending bank.

originator_address_line2
string
Nullable

The address of the wire originator, set by the sending bank.

originator_address_line3
string
Nullable

The address of the wire originator, set by the sending bank.

originator_name
string
Nullable

The originator of the wire, set by the sending bank.

originator_routing_number
string
Nullable

The American Banking Association (ABA) routing number of the bank originating the transfer.

originator_to_beneficiary_information
string
Nullable

An Increase-created concatenation of the Originator-to-Beneficiary lines.

originator_to_beneficiary_information_line1
string
Nullable

A free-form message set by the wire originator.

originator_to_beneficiary_information_line2
string
Nullable

A free-form message set by the wire originator.

originator_to_beneficiary_information_line3
string
Nullable

A free-form message set by the wire originator.

originator_to_beneficiary_information_line4
string
Nullable

A free-form message set by the wire originator.

sender_reference
string