Codat Loan writeback API

Implement the [loan writeback](https://docs.codat.io/lending/guides/loan-writeback/introduction) procedure in your lending process to maintain an accurate position of a loan during the entire lending cycle.

Operations 19

GET /companies/{companyId}/connections/{connectionId}/options/bankAccounts Get create/update bank account model #
POST /companies/{companyId}/connections/{connectionId}/push/bankAccounts Create bank account #
GET /companies/{companyId}/connections/{connectionId}/options/chartOfAccounts Get create account model #
POST /companies/{companyId}/connections/{connectionId}/push/accounts Create account #
POST /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts Create source account #
GET /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping List bank feed account mappings #
POST /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping Create bank feed account mapping #
GET /companies/{companyId}/connections/{connectionId}/options/suppliers Get create/update supplier model #
POST /companies/{companyId}/connections/{connectionId}/push/suppliers Create supplier #
GET /companies/{companyId}/connections/{connectionId}/options/transfers Get create transfer model #
POST /companies/{companyId}/connections/{connectionId}/push/transfers Create transfer #
GET /companies/{companyId}/connections/{connectionId}/options/bankAccounts/{accountId}/bankTransactions Get create bank account transactions model #
POST /companies/{companyId}/connections/{connectionId}/push/bankAccounts/{accountId}/bankTransactions Create bank account transactions #
GET /companies/{companyId}/connections/{connectionId}/options/directCosts Get create direct cost model #
POST /companies/{companyId}/connections/{connectionId}/push/directCosts Create direct cost #
GET /companies/{companyId}/connections/{connectionId}/options/payments Get create payment model #
POST /companies/{companyId}/connections/{connectionId}/push/payments Create payment #
GET /companies/{companyId}/push/{pushOperationKey} Get create operation #
GET /companies/{companyId}/push List create operations #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/codat-loan-writeback-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

codat-loan-writeback-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lending Loan writeback API
  description: 'Our Lending solution helps you make smarter credit decisions on small businesses by enabling you to pull your customers'' latest data from accounting, banking, and commerce software they are already using. It also includes features to help providers verify the accuracy of data and process it more efficiently.


    The Lending solution is built on top of the latest accounting, commerce, and banking data, providing you with the most important data points you need to get a full picture of SMB creditworthiness and make a comprehensive assessment of your customers.


    [Explore solution](https://docs.codat.io/lending/overview) | [See OpenAPI spec](https://github.com/codatio/oas)


    <!-- Start Codat Tags Table -->

    ## Endpoints


    | Endpoints | Description |

    | :- |:- |

    | Companies | Create and manage your SMB users'' companies. |

    | Connections | Create new and manage existing data connections for a company. |

    | Bank statements | Retrieve banking data from linked bank accounts. |

    | Sales | Retrieve standardized sales data from a linked commerce software. |

    | Financial statements | Financial data and reports from a linked accounting software. |

    | Liabilities | Debt and other liabilities. |

    | Accounts payable | Data from a linked accounting software representing money the business owes money to its suppliers. |

    | Accounts receivable | Data from a linked accounting software representing money owed to the business for sold goods or services. |

    | Transactions | Data from a linked accounting software representing transactions. |

    | Company info | View company information fetched from the source platform. |

    | Data integrity | Match mutable accounting data with immutable banking data to increase confidence in financial data. |

    | Excel reports | Download reports in Excel format. |

    | Manage data | Control how data is retrieved from an integration. |

    | File upload | Endpoints to manage uploaded files. |

    | Loan writeback | Implement the [loan writeback](https://docs.codat.io/lending/guides/loan-writeback/introduction) procedure in your lending process to maintain an accurate position of a loan during the entire lending cycle. |

    <!-- End Codat Tags Table -->'
  version: 3.0.0
  contact:
    name: Codat
    email: support@codat.io
  termsOfService: https://www.codat.io/legals/
servers:
- description: Production
  url: https://api.codat.io
security:
- auth_header: []
tags:
- name: Loan writeback
  description: Implement the [loan writeback](https://docs.codat.io/lending/guides/loan-writeback/introduction) procedure in your lending process to maintain an accurate position of a loan during the entire lending cycle.
paths:
  /companies/{companyId}/connections/{connectionId}/options/bankAccounts:
    parameters:
    - $ref: '#/components/parameters/companyId'
    - $ref: '#/components/parameters/connectionId'
    get:
      summary: Get create/update bank account model
      tags:
      - Loan writeback
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushOption'
              examples:
                Dynamics 365 Business Central:
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        displayName: Name
                        description: The name of the bank account in the originating system
                        required: true
                        validation:
                          warnings: []
                          information:
                          - field: AccountName
                            details: Needs to be of the format '{No.}-{Name}'
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account
                        required: true
                      accountNumber:
                        type: String
                        displayName: Account Number
                        description: The account number for the bank account
                        required: false
                      nominalCode:
                        type: String
                        displayName: Nominal Code
                        description: The external reference given to each nominal account for a business
                        required: false
                        validation:
                          warnings: []
                          information:
                          - field: NominalCode
                            details: Bank Account Posting Group with Nominal Account must exist
                      sortCode:
                        type: String
                        displayName: Sort Code
                        description: The sort code for the bank account
                        required: false
                        validation:
                          warnings: []
                          information:
                          - field: SortCode
                            details: Must have a length between 0 and 20 characters
                      iBan:
                        type: String
                        displayName: IBAN
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        required: false
                      overdraftLimit:
                        type: Number
                        displayName: Overdraft Limit
                        description: The pre-arranged overdraft limit of the account
                        required: false
                        validation:
                          warnings: []
                          information:
                          - field: OverdraftLimit
                            details: Default value is 0
                    required: true
                Exact (Netherlands):
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        displayName: Name
                        description: The name of the bank account in the originating system
                        required: true
                      accountNumber:
                        type: String
                        displayName: Account Number
                        description: The account number for the bank account
                        required: true
                        validation:
                          warnings:
                          - field: AccountNumber
                            details: Should not exceed the maximum length of 14 characters if the specified currency is GBP.
                          information: []
                      sortCode:
                        type: String
                        displayName: Sort Code
                        description: The sort code for the bank account
                        required: false
                        validation:
                          warnings:
                          - field: SortCode
                            details: Must be 6 characters long if the specified currency is GBP.
                          - field: SortCode
                            details: Must be provided if the specified currency is GBP.
                          information: []
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account
                        required: false
                      nominalCode:
                        type: String
                        displayName: Nominal Code
                        description: The external reference given to each nominal account for a business
                        required: false
                    required: true
                Exact (UK):
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        displayName: Name
                        description: The name of the bank account in the originating system
                        required: true
                      accountNumber:
                        type: String
                        displayName: Account Number
                        description: The account number for the bank account
                        required: true
                        validation:
                          warnings:
                          - field: AccountNumber
                            details: Should not exceed the maximum length of 14 characters if the specified currency is GBP.
                          information: []
                      sortCode:
                        type: String
                        displayName: Sort Code
                        description: The sort code for the bank account
                        required: false
                        validation:
                          warnings:
                          - field: SortCode
                            details: Must be 6 characters long if the specified currency is GBP.
                          - field: SortCode
                            details: Must be provided if the specified currency is GBP.
                          information: []
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account
                        required: false
                      nominalCode:
                        type: String
                        displayName: Nominal Code
                        description: The external reference given to each nominal account for a business
                        required: false
                    required: true
                FreeAgent:
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        displayName: Name
                        description: The name of the bank account in the originating system
                        required: true
                      sortCode:
                        type: String
                        displayName: Sort Code
                        description: The sort code for the bank account
                        required: false
                        validation:
                          warnings:
                          - field: SortCode
                            details: Must have a length between 0 and 8 characters
                          information: []
                      accountNumber:
                        type: String
                        displayName: Account Number
                        description: The account number for the bank account
                        required: false
                      iBan:
                        type: String
                        displayName: IBAN
                        description: The international bank account number of the account. Often used when making or receiving international payments
                        required: false
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account
                        options:
                        - value: AED
                          type: String
                          displayName: AED
                          required: false
                        - value: AMD
                          type: String
                          displayName: AMD
                          required: false
                        - value: AOA
                          type: String
                          displayName: AOA
                          required: false
                        - value: ARS
                          type: String
                          displayName: ARS
                          required: false
                        - value: AUD
                          type: String
                          displayName: AUD
                          required: false
                        - value: AWG
                          type: String
                          displayName: AWG
                          required: false
                        - value: AZN
                          type: String
                          displayName: AZN
                          required: false
                        - value: BBD
                          type: String
                          displayName: BBD
                          required: false
                        - value: BDT
                          type: String
                          displayName: BDT
                          required: false
                        - value: BGN
                          type: String
                          displayName: BGN
                          required: false
                        - value: BRL
                          type: String
                          displayName: BRL
                          required: false
                        - value: BWP
                          type: String
                          displayName: BWP
                          required: false
                        - value: CAD
                          type: String
                          displayName: CAD
                          required: false
                        - value: CHF
                          type: String
                          displayName: CHF
                          required: false
                        - value: CLP
                          type: String
                          displayName: CLP
                          required: false
                        - value: CNY
                          type: String
                          displayName: CNY
                          required: false
                        - value: COP
                          type: String
                          displayName: COP
                          required: false
                        - value: CRC
                          type: String
                          displayName: CRC
                          required: false
                        - value: CUC
                          type: String
                          displayName: CUC
                          required: false
                        - value: CUP
                          type: String
                          displayName: CUP
                          required: false
                        - value: CZK
                          type: String
                          displayName: CZK
                          required: false
                        - value: DKK
                          type: String
                          displayName: DKK
                          required: false
                        - value: DOP
                          type: String
                          displayName: DOP
                          required: false
                        - value: EGP
                          type: String
                          displayName: EGP
                          required: false
                        - value: EUR
                          type: String
                          displayName: EUR
                          required: false
                        - value: FJD
                          type: String
                          displayName: FJD
                          required: false
                        - value: GBP
                          type: String
                          displayName: GBP
                          required: false
                        - value: GEL
                          type: String
                          displayName: GEL
                          required: false
                        - value: GHS
                          type: String
                          displayName: GHS
                          required: false
                        - value: GTQ
                          type: String
                          displayName: GTQ
                          required: false
                        - value: GYD
                          type: String
                          displayName: GYD
                          required: false
                        - value: HKD
                          type: String
                          displayName: HKD
                          required: false
                        - value: HNL
                          type: String
                          displayName: HNL
                          required: false
                        - value: HRK
                          type: String
                          displayName: HRK
                          required: false
                        - value: HUF
                          type: String
                          displayName: HUF
                          required: false
                        - value: IDR
                          type: String
                          displayName: IDR
                          required: false
                        - value: ILS
                          type: String
                          displayName: ILS
                          required: false
                        - value: INR
                          type: String
                          displayName: INR
                          required: false
                        - value: ISK
                          type: String
                          displayName: ISK
                          required: false
                        - value: JMD
                          type: String
                          displayName: JMD
                          required: false
                        - value: JPY
                          type: String
                          displayName: JPY
                          required: false
                        - value: KES
                          type: String
                          displayName: KES
                          required: false
                        - value: KRW
                          type: String
                          displayName: KRW
                          required: false
                        - value: KWD
                          type: String
                          displayName: KWD
                          required: false
                        - value: KYD
                          type: String
                          displayName: KYD
                          required: false
                        - value: KZT
                          type: String
                          displayName: KZT
                          required: false
                        - value: LAK
                          type: String
                          displayName: LAK
                          required: false
                        - value: LBP
                          type: String
                          displayName: LBP
                          required: false
                        - value: LKR
                          type: String
                          displayName: LKR
                          required: false
                        - value: LTL
                          type: String
                          displayName: LTL
                          required: false
                        - value: LVL
                          type: String
                          displayName: LVL
                          required: false
                        - value: MAD
                          type: String
                          displayName: MAD
                          required: false
                        - value: MDL
                          type: String
                          displayName: MDL
                          required: false
                        - value: MGA
                          type: String
                          displayName: MGA
                          required: false
                        - value: MUR
                          type: String
                          displayName: MUR
                          required: false
                        - value: MVR
                          type: String
                          displayName: MVR
                          required: false
                        - value: MWK
                          type: String
                          displayName: MWK
                          required: false
                        - value: MXN
                          type: String
                          displayName: MXN
                          required: false
                        - value: MYR
                          type: String
                          displayName: MYR
                          required: false
                        - value: MZN
                          type: String
                          displayName: MZN
                          required: false
                        - value: NAD
                          type: String
                          displayName: NAD
                          required: false
                        - value: NGN
                          type: String
                          displayName: NGN
                          required: false
                        - value: NOK
                          type: String
                          displayName: NOK
                          required: false
                        - value: NPR
                          type: String
                          displayName: NPR
                          required: false
                        - value: NZD
                          type: String
                          displayName: NZD
                          required: false
                        - value: OMR
                          type: String
                          displayName: OMR
                          required: false
                        - value: PEN
                          type: String
                          displayName: PEN
                          required: false
                        - value: PHP
                          type: String
                          displayName: PHP
                          required: false
                        - value: PKR
                          type: String
                          displayName: PKR
                          required: false
                        - value: PLN
                          type: String
                          displayName: PLN
                          required: false
                        - value: QAR
                          type: String
                          displayName: QAR
                          required: false
                        - value: RON
                          type: String
                          displayName: RON
                          required: false
                        - value: RSD
                          type: String
                          displayName: RSD
                          required: false
                        - value: RUB
                          type: String
                          displayName: RUB
                          required: false
                        - value: RWF
                          type: String
                          displayName: RWF
                          required: false
                        - value: SAR
                          type: String
                          displayName: SAR
                          required: false
                        - value: SCR
                          type: String
                          displayName: SCR
                          required: false
                        - value: SEK
                          type: String
                          displayName: SEK
                          required: false
                        - value: SGD
                          type: String
                          displayName: SGD
                          required: false
                        - value: THB
                          type: String
                          displayName: THB
                          required: false
                        - value: TND
                          type: String
                          displayName: TND
                          required: false
                        - value: TRY
                          type: String
                          displayName: TRY
                          required: false
                        - value: TTD
                          type: String
                          displayName: TTD
                          required: false
                        - value: TWD
                          type: String
                          displayName: TWD
                          required: false
                        - value: TZS
                          type: String
                          displayName: TZS
                          required: false
                        - value: UAH
                          type: String
                          displayName: UAH
                          required: false
                        - value: UGX
                          type: String
                          displayName: UGX
                          required: false
                        - value: USD
                          type: String
                          displayName: USD
                          required: false
                        - value: UYU
                          type: String
                          displayName: UYU
                          required: false
                        - value: VEF
                          type: String
                          displayName: VEF
                          required: false
                        - value: VND
                          type: String
                          displayName: VND
                          required: false
                        - value: VUV
                          type: String
                          displayName: VUV
                          required: false
                        - value: XAF
                          type: String
                          displayName: XAF
                          required: false
                        - value: XCD
                          type: String
                          displayName: XCD
                          required: false
                        - value: XOF
                          type: String
                          displayName: XOF
                          required: false
                        - value: ZAR
                          type: String
                          displayName: ZAR
                          required: false
                        - value: ZMK
                          type: String
                          displayName: ZMK
                          required: false
                        required: true
                      balance:
                        type: Number
                        displayName: Balance
                        description: The balance of the bank account
                        required: false
                        validation:
                          warnings: []
                          information:
                          - field: Balance
                            details: The opening balance, in the account currency
                      institution:
                        type: String
                        displayName: Institution
                        description: The institution of the bank account
                        required: false
                    required: true
                KashFlow:
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        displayName: Account Name
                        description: Name of the bank account as it appears in Kashflow.
                        required: true
                      balance:
                        type: Number
                        displayName: Balance
                        description: The opening balance, in the account currency.
                        required: false
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account.
                        required: true
                    required: true
                QuickBooks Desktop:
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      nominalCode:
                        type: String
                        displayName: Nominal Code
                        description: The external reference given to each nominal account for a business
                        required: true
                        validation:
                          warnings:
                          - field: NominalCode
                            details: Max length of 7 characters.
                          information: []
                      accountName:
                        type: String
                        displayName: Name
                        description: The name of the bank account in the originating system
                        required: true
                        validation:
                          warnings:
                          - field: AccountName
                            details: Max length of 31 characters.
                          information: []
                      currency:
                        type: String
                        displayName: Currency
                        description: The currency of the bank account
                        required: false
                        validation:
                          warnings:
                          - field: Currency
                            details: The currency must match the base currency of the QuickBooks Desktop company unless the FullyQualifiedCategory is 'Asset.AccountsReceivable','Liability.AccountsPayable' or 'Liability.CreditCard'
                          - field: Currency
                            details: Must be a three letter ISO code that matches an existing active currency in the QuickBooks Desktop company
                          - field: Currency
                            details: Can only be set if the QuickBooks Desktop company has Multicurrency enabled.
                          information:
                          - field: Currency
                            details: If not set, will default to the base currency of the QuickBooks Desktop company
                      balance:
                        type: Number
                        displayName: Balance
                        description: The balance of the bank account
                        required: false
                    required: true
                QuickBooks Online Sandbox:
                  value:
                    type: Object
                    displayName: Bank Account
                    description: An account that bank transactions may be recorded against
                    properties:
                      accountName:
                        type: String
                        di

# --- truncated at 32 KB (891 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/codat/refs/heads/main/openapi/codat-loan-writeback-api-openapi.yml