---
title: "Create source account"
method: POST
path: "/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts"
tags: ["Loan writeback"]
---

# Create source account

`POST /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts`

The _Create Source Account_ endpoint allows you to create a representation of a bank account within Codat's domain. The company can then map the source account to an existing or new target account in their accounting software.

> ### Versioning
> If you are integrating the Bank Feeds solution with Codat after August 1, 2024, please use the v2 version of the API, as detailed in the schema below. For integrations completed before August 1, 2024, select the v1 version from the schema dropdown below.

## Request body

- union
  - SourceAccountV2Prototype — unresolved $ref
  - SourceAccountPrototype — unresolved $ref

## Response `200`

Success

- union
  - SourceAccountV2 — The target bank account in a supported accounting software for ingestion into a bank feed.
    - `id` string, required — Unique ID for the bank account.
    - `accountName` string, required — The bank account name.
    - `accountType` 'checking' | 'savings' | 'loan' | 'creditCard' | 'prepaidCard', required — The type of bank account e.g. checking, savings, loan, creditCard, prepaidCard.
    - `accountNumber` string, required — The account number.
    - `sortCode` string, nullable — The sort code.
    - `routingInfo` RoutingInfo — unresolved $ref
    - `currency` Currency, required — unresolved $ref
    - `balance` number, required — The latest balance for the bank account.
    - `accountInfo` AccountInfo — unresolved $ref
    - `modifiedDate` string — In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example: ``` 2020-10-08T22:40:50Z 2021-01-01T00:00:00 ``` When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - Unqualified local time: `2021-11-15T01:00:00` - UTC time offsets: `2021-11-15T01:00:00-05:00` > Time zones > > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
    - `status` 'pending' | 'connected' | 'connecting' | 'disconnected' | 'unknown', nullable — Status of the source account.
    - `feedStartDate` string, nullable — In Codat's data model, dates are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date fields are formatted as strings; for example: ``` 2020-10-08 ```
  - SourceAccount — The target bank account in a supported accounting software for ingestion into a bank feed.
    - `id` string, required — Unique ID for the bank account.
    - `accountName` string, nullable — The bank account name.
    - `accountType` string, nullable — The type of bank account e.g. Credit.
    - `accountNumber` string, nullable — The account number.
    - `sortCode` string, nullable — The sort code.
    - `currency` string, ISO4217 — The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_. ## Unknown currencies In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction. There are only a very small number of edge cases where this currency code is returned by the Codat system.
    - `balance` number, nullable — The latest balance for the bank account.
    - `modifiedDate` string — In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example: ``` 2020-10-08T22:40:50Z 2021-01-01T00:00:00 ``` When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - Unqualified local time: `2021-11-15T01:00:00` - UTC time offsets: `2021-11-15T01:00:00-05:00` > Time zones > > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
    - `status` 'pending' | 'connected' | 'connecting' | 'disconnected' | 'unknown', nullable — Status of the source account.
    - `feedStartDate` string — In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example: ``` 2020-10-08T22:40:50Z 2021-01-01T00:00:00 ``` When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - Unqualified local time: `2021-11-15T01:00:00` - UTC time offsets: `2021-11-15T01:00:00-05:00` > Time zones > > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.

## Other responses

- `400` — The request made is not valid.
- `401` — Your API request was not properly authorized.
- `402` — An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io.
- `403` — You are using an outdated API key or a key not associated with that resource.
- `404` — One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted.
- `429` — Too many requests were made in a given amount of time. Wait a short period and then try again.
- `500` — There is a problem with our server. Please try again later.
- `503` — The Codat API is temporarily offline for maintenance. Please try again later.

---

[API](https://skmtc.net/codatio/apis/lending.md) · [All operations](https://skmtc.net/codatio/apis/lending/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/codatio/lending/revisions/791e242d1faf/schema)
