Skip to main content
API Reference
Cards
External Accounts

External Accounts represent accounts at financial institutions other than Increase. You can use this API to store their details for reuse.

Events
Your application can listen to webhooks about this resource. The events about External Accounts will have the categories "external_account.created" or "external_account.updated" .
The External Account object
{
  "account_holder": "business",
  "account_number": "987654321",
  "created_at": "2020-01-31T23:59:59Z",
  "description": "Landlord",
  "funding": "checking",
  "id": "external_account_ukk55lr923a3ac0pp7iv",
  "idempotency_key": null,
  "routing_number": "101050001",
  "status": "active",
  "type": "external_account"
}
Attributes
account_holder
enum

The type of entity that owns the External Account.

account_number
string

The destination account number.

created_at
string

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

description
string

The External Account’s description for display purposes.

funding
enum

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

id
string

The External Account’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.

routing_number
string

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

status
enum

The External Account’s status.

type
string

A constant representing the object’s type. For this resource it will always be external_account.

List External Accounts
curl \
  --url "${INCREASE_URL}/external_accounts" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const externalAccount of client.externalAccounts.list()) {
  console.log(externalAccount.id);
}
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
page = client.external_accounts.list()
page = page.data[0]
print(page.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

page = increase.external_accounts.list

puts(page)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	page, err := client.ExternalAccounts.List(context.TODO(), increase.ExternalAccountListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.externalaccounts.ExternalAccountListPage;
import com.increase.api.models.externalaccounts.ExternalAccountListParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        ExternalAccountListPage page = client.externalAccounts().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.externalaccounts.ExternalAccountListPage
import com.increase.api.models.externalaccounts.ExternalAccountListParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val page: ExternalAccountListPage = client.externalAccounts().list()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $page = $client->externalAccounts->list(
    cursor: 'cursor',
    idempotencyKey: 'x',
    limit: 1,
    routingNumber: '483310694',
    status: ['in' => ['active']],
  );

  var_dump($page);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.ExternalAccounts;

IncreaseClient client = new();

ExternalAccountListParams parameters = new();

var page = await client.ExternalAccounts.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
Returns a list response :
{
  "data": [
    { /* External Account object */ },
    { /* External Account object */ }
    /* ... */
  ],
  "next_cursor": "v57w5d",
}
Parameters
status.in
array of strings

Filter External Accounts for those with the specified status or statuses. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.

routing_number
string

Filter External Accounts to those with the specified Routing Number.

Exactly 9 characters,
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.

Between 1 and 200 characters
More
cursor
string
limit
integer
Create an External Account
curl -X "POST" \
  --url "${INCREASE_URL}/external_accounts" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "account_holder": "business",
    "account_number": "987654321",
    "description": "Landlord",
    "routing_number": "101050001"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const externalAccount = await client.externalAccounts.create({
  account_number: '987654321',
  description: 'Landlord',
  routing_number: '101050001',
});

console.log(externalAccount.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
external_account = client.external_accounts.create(
    account_number="987654321",
    description="Landlord",
    routing_number="101050001",
)
print(external_account.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

external_account = increase.external_accounts.create(
  account_number: "987654321",
  description: "Landlord",
  routing_number: "101050001"
)

puts(external_account)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	externalAccount, err := client.ExternalAccounts.New(context.TODO(), increase.ExternalAccountNewParams{
		AccountNumber: increase.F("987654321"),
		Description:   increase.F("Landlord"),
		RoutingNumber: increase.F("101050001"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", externalAccount.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.externalaccounts.ExternalAccount;
import com.increase.api.models.externalaccounts.ExternalAccountCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        ExternalAccountCreateParams params = ExternalAccountCreateParams.builder()
            .accountNumber("987654321")
            .description("Landlord")
            .routingNumber("101050001")
            .build();
        ExternalAccount externalAccount = client.externalAccounts().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.externalaccounts.ExternalAccount
import com.increase.api.models.externalaccounts.ExternalAccountCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: ExternalAccountCreateParams = ExternalAccountCreateParams.builder()
        .accountNumber("987654321")
        .description("Landlord")
        .routingNumber("101050001")
        .build()
    val externalAccount: ExternalAccount = client.externalAccounts().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $externalAccount = $client->externalAccounts->create(
    accountNumber: '987654321',
    description: 'Landlord',
    routingNumber: '101050001',
    accountHolder: 'business',
    funding: 'checking',
  );

  var_dump($externalAccount);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.ExternalAccounts;

IncreaseClient client = new();

ExternalAccountCreateParams parameters = new()
{
    AccountNumber = "987654321",
    Description = "Landlord",
    RoutingNumber = "101050001",
};

var externalAccount = await client.ExternalAccounts.Create(parameters);

Console.WriteLine(externalAccount);
Parameters
account_holder
enum

The type of entity that owns the External Account.

account_number
string
Required

The account number for the destination account.

Between 1 and 17 characters,
description
string
Required

The name you choose for the Account.

Between 1 and 200 characters
funding
enum

The type of the destination account. Defaults to checking.

routing_number
string
Required

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

Exactly 9 characters,
Retrieve an External Account
curl \
  --url "${INCREASE_URL}/external_accounts/external_account_ukk55lr923a3ac0pp7iv" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const externalAccount = await client.externalAccounts.retrieve(
  'external_account_ukk55lr923a3ac0pp7iv',
);

console.log(externalAccount.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
external_account = client.external_accounts.retrieve(
    "external_account_ukk55lr923a3ac0pp7iv",
)
print(external_account.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

external_account = increase.external_accounts.retrieve("external_account_ukk55lr923a3ac0pp7iv")

puts(external_account)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	externalAccount, err := client.ExternalAccounts.Get(context.TODO(), "external_account_ukk55lr923a3ac0pp7iv")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", externalAccount.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.externalaccounts.ExternalAccount;
import com.increase.api.models.externalaccounts.ExternalAccountRetrieveParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        ExternalAccount externalAccount = client.externalAccounts().retrieve("external_account_ukk55lr923a3ac0pp7iv");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.externalaccounts.ExternalAccount
import com.increase.api.models.externalaccounts.ExternalAccountRetrieveParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val externalAccount: ExternalAccount = client.externalAccounts().retrieve("external_account_ukk55lr923a3ac0pp7iv")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $externalAccount = $client->externalAccounts->retrieve(
    'external_account_ukk55lr923a3ac0pp7iv'
  );

  var_dump($externalAccount);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.ExternalAccounts;

IncreaseClient client = new();

ExternalAccountRetrieveParams parameters = new()
{
    ExternalAccountID = "external_account_ukk55lr923a3ac0pp7iv"
};

var externalAccount = await client.ExternalAccounts.Retrieve(parameters);

Console.WriteLine(externalAccount);
Parameters
external_account_id
string
Required

The identifier of the External Account.

More about External Accounts.
Update an External Account
curl -X "PATCH" \
  --url "${INCREASE_URL}/external_accounts/external_account_ukk55lr923a3ac0pp7iv" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "description": "New description"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const externalAccount = await client.externalAccounts.update(
  'external_account_ukk55lr923a3ac0pp7iv',
);

console.log(externalAccount.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
external_account = client.external_accounts.update(
    external_account_id="external_account_ukk55lr923a3ac0pp7iv",
)
print(external_account.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

external_account = increase.external_accounts.update("external_account_ukk55lr923a3ac0pp7iv")

puts(external_account)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	externalAccount, err := client.ExternalAccounts.Update(
		context.TODO(),
		"external_account_ukk55lr923a3ac0pp7iv",
		increase.ExternalAccountUpdateParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", externalAccount.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.externalaccounts.ExternalAccount;
import com.increase.api.models.externalaccounts.ExternalAccountUpdateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        ExternalAccount externalAccount = client.externalAccounts().update("external_account_ukk55lr923a3ac0pp7iv");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.externalaccounts.ExternalAccount
import com.increase.api.models.externalaccounts.ExternalAccountUpdateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val externalAccount: ExternalAccount = client.externalAccounts().update("external_account_ukk55lr923a3ac0pp7iv")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $externalAccount = $client->externalAccounts->update(
    'external_account_ukk55lr923a3ac0pp7iv',
    accountHolder: 'business',
    description: 'New description',
    funding: 'checking',
    status: 'active',
  );

  var_dump($externalAccount);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.ExternalAccounts;

IncreaseClient client = new();

ExternalAccountUpdateParams parameters = new()
{
    ExternalAccountID = "external_account_ukk55lr923a3ac0pp7iv"
};

var externalAccount = await client.ExternalAccounts.Update(parameters);

Console.WriteLine(externalAccount);
Parameters
external_account_id
string
Required

The external account identifier.

More about External Accounts.
account_holder
enum

The type of entity that owns the External Account.

description
string

The description you choose to give the external account.

Between 1 and 200 characters
funding
enum

The funding type of the External Account.

status
enum

The status of the External Account.