Bank Accounts

Minimum access level: Banking, unless stated otherwise.

Attributes

Required Attribute Description Kind
url The unique identifier for the bank account URI
type Can be set to one of the following values:

  • StandardBankAccount (the default if no type is given)
  • CreditCardAccount
  • EcommerceAccount
The following additional types may be returned from the API but may not be set by API apps.
  • RentalStatementAccount
  • AmazonSellerBankAccount
  • GocardlessBankAccount
  • PaypalClassicAccount
  • Paypal::CurrencyAccount
  • StripeBankAccount

String
✔ name Account name String
currency

The accounting currency for the account, e.g. GBP, USD, EUR

Defaults to the native currency

Cannot be changed once a bank account has any transactions
String
is_personal true for a personal account, false for a business account Boolean
is_primary true if it is the primary bank account of the company, false otherwise Boolean
status Constant that represents if a bank account is active or hidden String
bank_name Bank name String
✔ opening_balance

The account balance at the start of the FreeAgent Start Date

For accounts opened after this date, enter zero
Decimal
bank_code Constant that represents the bank, based on the sort code. For example: generic, barclays, natwest, rbs String
current_balance Latest balance Decimal
latest_activity_date Date of latest transaction or the latest bank account entry, in YYYY-MM-DD format Date
created_at Creation of the bank account resource (UTC) Timestamp
updated_at When the bank account resource was last updated (UTC) Timestamp
bank_guess_enabled true if guess is enabled on the bank account, false if disabled Boolean
Additional StandardBankAccount attributes
account_number Bank account number String
sort_code Bank account sort code / routing number String
secondary_sort_code

Secondary bank account sort code / routing number

Use this only if the bank account has two Bank/Sort Codes
String
iban International Bank Account Number for the account String
bic Bank Identifier Code for the account (also known as the Swift Code) String
Additional CreditCardAccount attributes
✔ account_number

Bank account number

For security, only the last four digits are required
String
Additional PaypalAccount attributes
✔ email The email address used to log into PayPal String

List bank accounts

GET https://api.freeagent.com/v2/bank_accounts

Input

View Filters

GET https://api.freeagent.com/v2/bank_accounts?view=standard_bank_accounts
  • standard_bank_accounts: Show only standard bank accounts.
  • credit_card_accounts: Show only credit card accounts.
  • paypal_accounts: Show only paypal accounts.

Response

Status: 200 OK
{ "bank_accounts":[
  {
    "url":"https://api.freeagent.com/v2/bank_accounts/1",
    "opening_balance":"0.0",
    "type":"StandardBankAccount",
    "name":"Default bank account",
    "is_personal":false,
    "status":"active",
    "currency": "GBP",
    "current_balance": "0.0",
    "updated_at":"2011-07-28T11:25:20Z",
    "created_at":"2011-07-28T11:25:11Z"
  }
]}
Show as XML
<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
  <bank-accounts type="array">
    <bank-account>
      <url>https://api.freeagent.com/v2/bank_accounts/1</url>
      <opening-balance type="decimal">0.0</opening-balance>
      <type>StandardBankAccount</type>
      <name>Default bank account</name>
      <currency>GBP</currency>
      <current-balance type="decimal">0.0</current-balance>
      <is-personal type="boolean">false</is-personal>
      <status>active</status>
      <updated-at type="datetime">2011-07-28T11:25:20Z</updated-at>
      <created-at type="datetime">2011-07-28T11:25:11Z</created-at>
    </bank-account>
  </bank-accounts>
</freeagent>
Show as JSON

Get a single bank account

GET https://api.freeagent.com/v2/bank_accounts/:id

Response

Status: 200 OK
{ "bank_account":
  {
    "opening_balance":"0.0",
    "type":"StandardBankAccount",
    "name":"Default bank account",
    "is_personal":false,
    "status":"active",
    "currency": "GBP",
    "current_balance": "0.0",
    "updated_at":"2011-07-28T11:25:20Z",
    "created_at":"2011-07-28T11:25:11Z",
    "bank_guess_enabled":false
  }
}
Show as XML
<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
  <bank-account>
    <opening-balance type="decimal">0.0</opening-balance>
    <type>StandardBankAccount</type>
    <name>Default bank account</name>
    <is-personal type="boolean">false</is-personal>
    <status>active</status>
    <currency>GBP</currency>
    <current-balance type="decimal">0.0</current-balance>
    <updated-at type="datetime">2011-07-28T11:25:20Z</updated-at>
    <created-at type="datetime">2011-07-28T11:25:11Z</created-at>
    <bank_guess_enabled type="boolean">false</bank_guess_enabled>
  </bank-account>
</freeagent>
Show as JSON

Create a bank account

POST https://api.freeagent.com/v2/bank_accounts

Payload should have a root bank_account element, containing elements listed under Attributes.

Response

Status: 201 Created
Location: https://api.freeagent.com/v2/bank_accounts/61
{ "bank_account":
  {
    "opening_balance":"0.0",
    "type":"StandardBankAccount",
    "name":"Default bank account",
    "is_personal":false,
    "status":"active",
    "updated_at":"2011-07-28T11:25:20Z",
    "created_at":"2011-07-28T11:25:11Z",
    "bank_guess_enabled":false
  }
}
Show as XML
<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
  <bank-account>
    <opening-balance type="decimal">0.0</opening-balance>
    <type>StandardBankAccount</type>
    <name>Default bank account</name>
    <is-personal type="boolean">false</is-personal>
    <status>active</status>
    <updated-at type="datetime">2011-07-28T11:25:20Z</updated-at>
    <created-at type="datetime">2011-07-28T11:25:11Z</created-at>
    <bank_guess_enabled type="boolean">false</bank_guess_enabled>
  </bank-account>
</freeagent>
Show as JSON

Update a bank account

PUT https://api.freeagent.com/v2/bank_accounts/:id

Payload should have a root bank_account element, containing elements listed under Attributes that should be updated.

Response

Status: 200 OK

Delete a bank account

DELETE https://api.freeagent.com/v2/bank_accounts/:id

Response

Status: 200 OK