Skip to main content
API Reference
Cards
Accounts

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

Events
Your application can listen to webhooks about this resource. The events about Accounts will have the categories "account.created" or "account.updated" .
The Account object
{
  "account_revenue_rate": null,
  "bank": "first_internet_bank",
  "closed_at": null,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "entity_id": "entity_n8y8tnk2p9339ti393yi",
  "funding": "deposits",
  "id": "account_in71c4amph0vgo2qllky",
  "idempotency_key": null,
  "informational_entity_id": null,
  "interest_rate": "0.055",
  "loan": null,
  "name": "My first account!",
  "program_id": "program_i2v2os4mwza1oetokh9i",
  "status": "open",
  "type": "account"
}
Attributes
account_revenue_rate
string
Nullable

The account revenue rate currently being earned on the account, as a string containing a decimal number. For example, a 1% account revenue rate would be represented as “0.01”. Account revenue is a type of non-interest income accrued on the account.

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

The identifier for the Entity the Account belongs to.

More about Entities.
funding
enum

Whether the Account is funded by a loan or by deposits.

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.

More about Entities.
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”.

loan
dictionary
Nullable

The Account’s loan-related information, if the Account is a loan account.

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.

More about Programs.
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}"
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 account of client.accounts.list()) {
  console.log(account.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.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.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.Accounts.List(context.TODO(), increase.AccountListParams{})
	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.accounts.AccountListPage;
import com.increase.api.models.accounts.AccountListParams;

public final class Main {
    private Main() {}

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

        AccountListPage page = client.accounts().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accounts.AccountListPage
import com.increase.api.models.accounts.AccountListParams

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

    val page: AccountListPage = client.accounts().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->accounts->list(
    createdAt: [
      'after' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'before' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrAfter' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrBefore' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    ],
    cursor: 'cursor',
    entityID: 'entity_id',
    idempotencyKey: 'x',
    informationalEntityID: 'informational_entity_id',
    limit: 1,
    programID: 'program_id',
    status: ['in' => ['closed']],
  );

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

IncreaseClient client = new();

AccountListParams parameters = new();

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

Filter Accounts for those belonging to the specified Entity.

More about Entities.
informational_entity_id
string

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

More about Entities.
program_id
string

Filter Accounts for those in a specific Program.

More about Programs.
status.in
array of strings

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

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
created_at.after
string
created_at.before
string
created_at.on_or_after
string
created_at.on_or_before
string
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"
  }'
import Increase from 'increase';

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

const account = await client.accounts.create({ name: 'New Account!' });

console.log(account.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
)
account = client.accounts.create(
    name="New Account!",
)
print(account.id)
require "increase"

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

account = increase.accounts.create(name: "New Account!")

puts(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
	)
	account, err := client.Accounts.New(context.TODO(), increase.AccountNewParams{
		Name: increase.F("New Account!"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", account.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accounts.Account;
import com.increase.api.models.accounts.AccountCreateParams;

public final class Main {
    private Main() {}

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

        AccountCreateParams params = AccountCreateParams.builder()
            .name("New Account!")
            .build();
        Account account = client.accounts().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.accounts.Account
import com.increase.api.models.accounts.AccountCreateParams

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

    val params: AccountCreateParams = AccountCreateParams.builder()
        .name("New Account!")
        .build()
    val account: Account = client.accounts().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 {
  $account = $client->accounts->create(
    name: 'New Account!',
    entityID: 'entity_n8y8tnk2p9339ti393yi',
    funding: 'loan',
    informationalEntityID: 'informational_entity_id',
    loan: [
      'creditLimit' => 0,
      'gracePeriodDays' => 0,
      'statementDayOfMonth' => 1,
      'statementPaymentType' => 'balance',
      'maturityDate' => '2019-12-27',
    ],
    programID: 'program_i2v2os4mwza1oetokh9i',
  );

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

IncreaseClient client = new();

AccountCreateParams parameters = new() { Name = "New Account!" };

var account = await client.Accounts.Create(parameters);

Console.WriteLine(account);
Parameters
entity_id
string

The identifier for the Entity that will own the Account.

More about Entities.
funding
enum

Whether the Account is funded by a loan or by deposits.

informational_entity_id
string

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

More about Entities.
loan
dictionary

The loan details for the account.

name
string
Required

The name you choose for the Account.

Between 1 and 200 characters
program_id
string

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

More about Programs.
Retrieve an Account
curl \
  --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky" \
  -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 account = await client.accounts.retrieve('account_in71c4amph0vgo2qllky');

console.log(account.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
)
account = client.accounts.retrieve(
    "account_in71c4amph0vgo2qllky",
)
print(account.id)
require "increase"

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

account = increase.accounts.retrieve("account_in71c4amph0vgo2qllky")

puts(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
	)
	account, err := client.Accounts.Get(context.TODO(), "account_in71c4amph0vgo2qllky")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", account.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accounts.Account;
import com.increase.api.models.accounts.AccountRetrieveParams;

public final class Main {
    private Main() {}

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

        Account account = client.accounts().retrieve("account_in71c4amph0vgo2qllky");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accounts.Account
import com.increase.api.models.accounts.AccountRetrieveParams

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

    val account: Account = client.accounts().retrieve("account_in71c4amph0vgo2qllky")
}
<?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 {
  $account = $client->accounts->retrieve('account_in71c4amph0vgo2qllky');

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

IncreaseClient client = new();

AccountRetrieveParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky"
};

var account = await client.Accounts.Retrieve(parameters);

Console.WriteLine(account);
Parameters
account_id
string
Required

The identifier of the Account to retrieve.

More about Accounts.
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"
  }'
import Increase from 'increase';

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

const account = await client.accounts.update('account_in71c4amph0vgo2qllky');

console.log(account.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
)
account = client.accounts.update(
    account_id="account_in71c4amph0vgo2qllky",
)
print(account.id)
require "increase"

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

account = increase.accounts.update("account_in71c4amph0vgo2qllky")

puts(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
	)
	account, err := client.Accounts.Update(
		context.TODO(),
		"account_in71c4amph0vgo2qllky",
		increase.AccountUpdateParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", account.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accounts.Account;
import com.increase.api.models.accounts.AccountUpdateParams;

public final class Main {
    private Main() {}

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

        Account account = client.accounts().update("account_in71c4amph0vgo2qllky");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accounts.Account
import com.increase.api.models.accounts.AccountUpdateParams

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

    val account: Account = client.accounts().update("account_in71c4amph0vgo2qllky")
}
<?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 {
  $account = $client->accounts->update(
    'account_in71c4amph0vgo2qllky',
    loan: ['creditLimit' => 0],
    name: 'My renamed account',
  );

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

IncreaseClient client = new();

AccountUpdateParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky"
};

var account = await client.Accounts.Update(parameters);

Console.WriteLine(account);
Parameters
account_id
string
Required

The identifier of the Account to update.

More about Accounts.
loan
dictionary

The loan details for the account.

name
string

The new name of the Account.

Between 1 and 200 characters
Retrieve an Account Balance

Retrieve the current and available balances for an account in minor units of the account’s currency. Learn more about account balances.

curl \
  --url "${INCREASE_URL}/accounts/account_in71c4amph0vgo2qllky/balance" \
  -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 balanceLookup = await client.accounts.balance('account_in71c4amph0vgo2qllky');

console.log(balanceLookup.account_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
)
balance_lookup = client.accounts.balance(
    account_id="account_in71c4amph0vgo2qllky",
)
print(balance_lookup.account_id)
require "increase"

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

balance_lookup = increase.accounts.balance("account_in71c4amph0vgo2qllky")

puts(balance_lookup)
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
	)
	balanceLookup, err := client.Accounts.Balance(
		context.TODO(),
		"account_in71c4amph0vgo2qllky",
		increase.AccountBalanceParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", balanceLookup.AccountID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accounts.AccountBalanceParams;
import com.increase.api.models.accounts.BalanceLookup;

public final class Main {
    private Main() {}

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

        BalanceLookup balanceLookup = client.accounts().balance("account_in71c4amph0vgo2qllky");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accounts.AccountBalanceParams
import com.increase.api.models.accounts.BalanceLookup

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

    val balanceLookup: BalanceLookup = client.accounts().balance("account_in71c4amph0vgo2qllky")
}
<?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 {
  $balanceLookup = $client->accounts->balance(
    'account_in71c4amph0vgo2qllky',
    atTime: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
  );

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

IncreaseClient client = new();

AccountBalanceParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky"
};

var balanceLookup = await client.Accounts.Balance(parameters);

Console.WriteLine(balanceLookup);
Returns a Balance Lookup object:
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "available_balance": 100,
  "current_balance": 100,
  "loan": null,
  "type": "balance_lookup"
}
Parameters
account_id
string
Required

The identifier of the Account to retrieve.

More about Accounts.
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}"
import Increase from 'increase';

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

const account = await client.accounts.close('account_in71c4amph0vgo2qllky');

console.log(account.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
)
account = client.accounts.close(
    "account_in71c4amph0vgo2qllky",
)
print(account.id)
require "increase"

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

account = increase.accounts.close("account_in71c4amph0vgo2qllky")

puts(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
	)
	account, err := client.Accounts.Close(context.TODO(), "account_in71c4amph0vgo2qllky")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", account.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accounts.Account;
import com.increase.api.models.accounts.AccountCloseParams;

public final class Main {
    private Main() {}

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

        Account account = client.accounts().close("account_in71c4amph0vgo2qllky");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accounts.Account
import com.increase.api.models.accounts.AccountCloseParams

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

    val account: Account = client.accounts().close("account_in71c4amph0vgo2qllky")
}
<?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 {
  $account = $client->accounts->close('account_in71c4amph0vgo2qllky');

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

IncreaseClient client = new();

AccountCloseParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky"
};

var account = await client.Accounts.Close(parameters);

Console.WriteLine(account);
Parameters
account_id
string
Required

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

More about Accounts.
Sandbox: Create an account revenue payment

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

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/account_revenue_payments" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "account_id": "account_in71c4amph0vgo2qllky",
    "amount": 1000
  }'
import Increase from 'increase';

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

const transaction = await client.simulations.accountRevenuePayments.create({
  account_id: 'account_in71c4amph0vgo2qllky',
  amount: 1000,
});

console.log(transaction.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
)
transaction = client.simulations.account_revenue_payments.create(
    account_id="account_in71c4amph0vgo2qllky",
    amount=1000,
)
print(transaction.id)
require "increase"

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

transaction = increase.simulations.account_revenue_payments.create(
  account_id: "account_in71c4amph0vgo2qllky",
  amount: 1000
)

puts(transaction)
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
	)
	transaction, err := client.Simulations.AccountRevenuePayments.New(context.TODO(), increase.SimulationAccountRevenuePaymentNewParams{
		AccountID: increase.F("account_in71c4amph0vgo2qllky"),
		Amount:    increase.F(int64(1000)),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", transaction.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.simulations.accountrevenuepayments.AccountRevenuePaymentCreateParams;
import com.increase.api.models.transactions.Transaction;

public final class Main {
    private Main() {}

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

        AccountRevenuePaymentCreateParams params = AccountRevenuePaymentCreateParams.builder()
            .accountId("account_in71c4amph0vgo2qllky")
            .amount(1000L)
            .build();
        Transaction transaction = client.simulations().accountRevenuePayments().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.simulations.accountrevenuepayments.AccountRevenuePaymentCreateParams
import com.increase.api.models.transactions.Transaction

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

    val params: AccountRevenuePaymentCreateParams = AccountRevenuePaymentCreateParams.builder()
        .accountId("account_in71c4amph0vgo2qllky")
        .amount(1000L)
        .build()
    val transaction: Transaction = client.simulations().accountRevenuePayments().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 {
  $transaction = $client->simulations->accountRevenuePayments->create(
    accountID: 'account_in71c4amph0vgo2qllky',
    amount: 1000,
    accruedOnAccountID: 'accrued_on_account_id',
    periodEnd: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    periodStart: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
  );

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

IncreaseClient client = new();

AccountRevenuePaymentCreateParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky",
    Amount = 1000,
};

var transaction = await client.Simulations.AccountRevenuePayments.Create(parameters);

Console.WriteLine(transaction);
Returns a Transaction object:
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "amount": 100,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "description": "Revenue Payment for My first account! in 2025-06",
  "id": "transaction_uyrp7fld2ium70oa7oi",
  "route_id": null,
  "route_type": null,
  "source": {
    "account_revenue_payment": {
      "accrued_on_account_id": "account_in71c4amph0vgo2qllky",
      "period_end": "2025-06-30T23:59:59+00:00",
      "period_start": "2025-06-01T00:00:00+00:00"
    },
    "category": "account_revenue_payment"
  },
  "type": "transaction"
}
Parameters
account_id
string
Required

The identifier of the Account the Account Revenue Payment should be paid to.

More about Accounts.
accrued_on_account_id
string

The identifier of the Account the account revenue accrued on. Defaults to account_id.

More about Accounts.
amount
integer
Required

The account revenue amount in cents. Must be positive.

period_end
string

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

period_start
string

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

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
  }'
import Increase from 'increase';

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

const transaction = await client.simulations.interestPayments.create({
  account_id: 'account_in71c4amph0vgo2qllky',
  amount: 1000,
});

console.log(transaction.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
)
transaction = client.simulations.interest_payments.create(
    account_id="account_in71c4amph0vgo2qllky",
    amount=1000,
)
print(transaction.id)
require "increase"

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

transaction = increase.simulations.interest_payments.create(account_id: "account_in71c4amph0vgo2qllky", amount: 1000)

puts(transaction)
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
	)
	transaction, err := client.Simulations.InterestPayments.New(context.TODO(), increase.SimulationInterestPaymentNewParams{
		AccountID: increase.F("account_in71c4amph0vgo2qllky"),
		Amount:    increase.F(int64(1000)),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", transaction.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.simulations.interestpayments.InterestPaymentCreateParams;
import com.increase.api.models.transactions.Transaction;

public final class Main {
    private Main() {}

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

        InterestPaymentCreateParams params = InterestPaymentCreateParams.builder()
            .accountId("account_in71c4amph0vgo2qllky")
            .amount(1000L)
            .build();
        Transaction transaction = client.simulations().interestPayments().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.simulations.interestpayments.InterestPaymentCreateParams
import com.increase.api.models.transactions.Transaction

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

    val params: InterestPaymentCreateParams = InterestPaymentCreateParams.builder()
        .accountId("account_in71c4amph0vgo2qllky")
        .amount(1000L)
        .build()
    val transaction: Transaction = client.simulations().interestPayments().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 {
  $transaction = $client->simulations->interestPayments->create(
    accountID: 'account_in71c4amph0vgo2qllky',
    amount: 1000,
    accruedOnAccountID: 'accrued_on_account_id',
    periodEnd: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    periodStart: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
  );

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

IncreaseClient client = new();

InterestPaymentCreateParams parameters = new()
{
    AccountID = "account_in71c4amph0vgo2qllky",
    Amount = 1000,
};

var transaction = await client.Simulations.InterestPayments.Create(parameters);

Console.WriteLine(transaction);
Returns a Transaction object:
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "amount": 100,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "description": "Interest payment for 2025-06",
  "id": "transaction_uyrp7fld2ium70oa7oi",
  "route_id": null,
  "route_type": null,
  "source": {
    "category": "interest_payment",
    "interest_payment": {
      "accrued_on_account_id": "account_in71c4amph0vgo2qllky",
      "amount": 100,
      "currency": "USD",
      "period_end": "2025-06-30T23:59:59+00:00",
      "period_start": "2025-06-01T00:00:00+00:00"
    }
  },
  "type": "transaction"
}
Parameters
account_id
string
Required

The identifier of the Account the Interest Payment should be paid to is for.

More about Accounts.
accrued_on_account_id
string

The identifier of the Account the Interest accrued on. Defaults to account_id.

More about Accounts.
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.