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. The statement covers all transactions up to, but not including this timestamp. Usually, this is the beginning of the following month.

statement_period_start
string

The ISO 8601 time representing the start of the period the Account Statement covers. This is the first moment of the statement period and is inclusive. Usually, this is the beginning of the month this 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 parameters
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. As in production, the simulated statement covers the previous calendar 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.