---
title: "Update source account"
method: PATCH
path: "/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}"
tags: ["Source accounts"]
---

# Update source account

`PATCH /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}`

## Request

- Base URL: `https://api.codat.io`
- URL: `https://api.codat.io/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}`
- Auth: API key in header `Authorization`

The _Update source account_ endpoint updates a single source account for a single data connection connected to a single company.

### Tips and pitfalls

* This endpoint makes it possible to update the `accountName`, `status`, and `balance` fields.
    * The `status` field can only be updated to 'disconnected'.
    * The `balance` field can only be updated on accounts that are **not** 'connected'.
* Updates made here apply exclusively to source accounts and will not affect target accounts in the accounting software.

## Path parameters

- `companyId` string, uuid, required: Unique identifier for your SMB in Codat.
- `connectionId` string, uuid, required: Unique identifier for a company's data connection.
- `accountId` string, required

## Request body

- 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.

## Response `200`

Success

- 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.dev/codatio/apis/bank-feeds.md) - [All operations](https://skmtc.dev/codatio/apis/bank-feeds/llms.txt) - [OpenAPI document](https://skmtc.dev/codatio/apis/bank-feeds/revisions/ffea4a4680c5?raw)
