Skip to main content
API Reference
Cards
Account Statements

Account Statements are generated monthly for every active Account. You can access the statement’s data via the API or retrieve a PDF with its details via its associated File.

Events
Your application can listen to webhooks about this resource. All of the events about Account Statements will have the category "account_statement.created" .
The Account Statement object
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "created_at": "2020-01-31T23:59:59Z",
  "ending_balance": 100,
  "file_id": "file_makxrc67oh9l6sg7w9yc",
  "id": "account_statement_lkc03a4skm2k7f38vj15",
  "loan": null,
  "starting_balance": 0,
  "statement_period_end": "2020-01-31T23:59:59Z",
  "statement_period_start": "2020-01-31T23:59:59Z",
  "type": "account_statement"
}
Attributes
account_id
string

The identifier for the Account this Account Statement belongs to.

More about Accounts.
created_at
string

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

ending_balance
integer

The Account’s balance at the end of its statement period.

file_id
string

The identifier of the File containing a PDF of the statement.

More about Files.
id
string

The Account Statement identifier.

loan
dictionary
Nullable

The loan balances.

starting_balance
integer

The Account’s balance at the start of its statement period.

statement_period_end
string

The ISO 8601 time representing the end of the period the Account Statement covers.

statement_period_start
string

The ISO 8601 time representing the start of the period the Account Statement covers.

type
string

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

List Account Statements
curl \
  --url "${INCREASE_URL}/account_statements?account_id=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
});

// Automatically fetches more pages as needed.
for await (const accountStatement of client.accountStatements.list()) {
  console.log(accountStatement.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.account_statements.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.account_statements.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.AccountStatements.List(context.TODO(), increase.AccountStatementListParams{})
	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.accountstatements.AccountStatementListPage;
import com.increase.api.models.accountstatements.AccountStatementListParams;

public final class Main {
    private Main() {}

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

        AccountStatementListPage page = client.accountStatements().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accountstatements.AccountStatementListPage
import com.increase.api.models.accountstatements.AccountStatementListParams

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

    val page: AccountStatementListPage = client.accountStatements().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->accountStatements->list(
    accountID: 'account_id',
    cursor: 'cursor',
    limit: 1,
    statementPeriodStart: [
      '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'),
    ],
  );

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

IncreaseClient client = new();

AccountStatementListParams parameters = new();

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

Filter Account Statements to those belonging to the specified Account.

More about Accounts.
More
cursor
string
limit
integer
statement_period_start.after
string
statement_period_start.before
string
statement_period_start.on_or_after
string
statement_period_start.on_or_before
string
Retrieve an Account Statement
curl \
  --url "${INCREASE_URL}/account_statements/account_statement_lkc03a4skm2k7f38vj15" \
  -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 accountStatement = await client.accountStatements.retrieve(
  'account_statement_lkc03a4skm2k7f38vj15',
);

console.log(accountStatement.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_statement = client.account_statements.retrieve(
    "account_statement_lkc03a4skm2k7f38vj15",
)
print(account_statement.id)
require "increase"

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

account_statement = increase.account_statements.retrieve("account_statement_lkc03a4skm2k7f38vj15")

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

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accountstatements.AccountStatement;
import com.increase.api.models.accountstatements.AccountStatementRetrieveParams;

public final class Main {
    private Main() {}

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

        AccountStatement accountStatement = client.accountStatements().retrieve("account_statement_lkc03a4skm2k7f38vj15");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.accountstatements.AccountStatement
import com.increase.api.models.accountstatements.AccountStatementRetrieveParams

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

    val accountStatement: AccountStatement = client.accountStatements().retrieve("account_statement_lkc03a4skm2k7f38vj15")
}
<?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 {
  $accountStatement = $client->accountStatements->retrieve(
    'account_statement_lkc03a4skm2k7f38vj15'
  );

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

IncreaseClient client = new();

AccountStatementRetrieveParams parameters = new()
{
    AccountStatementID = "account_statement_lkc03a4skm2k7f38vj15"
};

var accountStatement = await client.AccountStatements.Retrieve(parameters);

Console.WriteLine(accountStatement);
Parameters
account_statement_id
string
Required

The identifier of the Account Statement to retrieve.

More about Account Statements.
Sandbox: Create an Account Statement

Simulates an Account Statement being created for an account. In production, Account Statements are generated once per month.

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

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

const accountStatement = await client.simulations.accountStatements.create({
  account_id: 'account_in71c4amph0vgo2qllky',
});

console.log(accountStatement.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_statement = client.simulations.account_statements.create(
    account_id="account_in71c4amph0vgo2qllky",
)
print(account_statement.id)
require "increase"

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

account_statement = increase.simulations.account_statements.create(account_id: "account_in71c4amph0vgo2qllky")

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

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.accountstatements.AccountStatement;
import com.increase.api.models.simulations.accountstatements.AccountStatementCreateParams;

public final class Main {
    private Main() {}

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

        AccountStatementCreateParams params = AccountStatementCreateParams.builder()
            .accountId("account_in71c4amph0vgo2qllky")
            .build();
        AccountStatement accountStatement = client.simulations().accountStatements().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.accountstatements.AccountStatement
import com.increase.api.models.simulations.accountstatements.AccountStatementCreateParams

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

    val params: AccountStatementCreateParams = AccountStatementCreateParams.builder()
        .accountId("account_in71c4amph0vgo2qllky")
        .build()
    val accountStatement: AccountStatement = client.simulations().accountStatements().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 {
  $accountStatement = $client->simulations->accountStatements->create(
    accountID: 'account_in71c4amph0vgo2qllky'
  );

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

IncreaseClient client = new();

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

var accountStatement = await client.Simulations.AccountStatements.Create(parameters);

Console.WriteLine(accountStatement);
Parameters
account_id
string
Required

The identifier of the Account the statement is for.

More about Accounts.