Codat · Capability

Lending — Bank statements

Lending — Bank statements. 16 operations. Lead operation: Get upload configuration. Self-contained Naftiko capability covering one Codat business surface.

Run with Naftiko CodatBank statements

What You Can Do

GET
Getbankstatementuploadconfiguration — Get upload configuration
/v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/configuration
POST
Setbankstatementuploadconfiguration — Set upload configuration
/v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/configuration
POST
Endbankstatementuploadsession — End upload session
/v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/dataset/{datasetid}/endsession
POST
Uploadbankstatementdata — Upload data
/v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/dataset/{datasetid}/upload
POST
Startbankstatementuploadsession — Start upload session
/v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/startsession
GET
Listbankingaccountbalances — List account balances
/v1/companies/{companyid}/connections/{connectionid}/data/banking-accountbalances
GET
Listbankingaccounts — List accounts
/v1/companies/{companyid}/connections/{connectionid}/data/banking-accounts
GET
Getbankingaccount — Get account
/v1/companies/{companyid}/connections/{connectionid}/data/banking-accounts/{accountid}
GET
Listbankingtransactioncategories — List transaction categories
/v1/companies/{companyid}/connections/{connectionid}/data/banking-transactioncategories
GET
Getbankingtransactioncategory — Get transaction category
/v1/companies/{companyid}/connections/{connectionid}/data/banking-transactioncategories/{transactioncategoryid}
GET
Listbankingtransactions — List transactions
/v1/companies/{companyid}/connections/{connectionid}/data/banking-transactions
GET
Getbankingtransaction — Get bank transaction
/v1/companies/{companyid}/connections/{connectionid}/data/banking-transactions/{transactionid}
GET
Listcategorizedbankstatementaccounts — List categorized bank statement accounts
/v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/accounts
GET
Downloadcategorizedbankstatementexcel — Download categorized bank statement Excel
/v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/excel
GET
Getcategorizedbankstatementtransactions — Get categorized bank statement transactions
/v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/transactions
GET
Getcategorizedbankstatement — Get categorized bank statement
/v1/companies/{companyid}/reports/enhancedcashflow/transactions

MCP Tools

get-upload-configuration

Get upload configuration

read-only idempotent
set-upload-configuration

Set upload configuration

end-upload-session

End upload session

upload-data

Upload data

start-upload-session

Start upload session

list-account-balances

List account balances

read-only idempotent
list-accounts

List accounts

read-only idempotent
get-account

Get account

read-only idempotent
list-transaction-categories

List transaction categories

read-only idempotent
get-transaction-category

Get transaction category

read-only idempotent
list-transactions

List transactions

read-only idempotent
get-bank-transaction

Get bank transaction

read-only idempotent
list-categorized-bank-statement-accounts

List categorized bank statement accounts

read-only idempotent
download-categorized-bank-statement-excel

Download categorized bank statement Excel

read-only idempotent
get-categorized-bank-statement-transactions

Get categorized bank statement transactions

read-only idempotent
get-categorized-bank-statement

Get categorized bank statement

read-only idempotent

Capability Spec

lending-bank-statements.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Lending — Bank statements
  description: 'Lending — Bank statements. 16 operations. Lead operation: Get upload configuration. Self-contained Naftiko
    capability covering one Codat business surface.'
  tags:
  - Codat
  - Bank statements
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CODAT_API_KEY: CODAT_API_KEY
capability:
  consumes:
  - type: http
    namespace: lending-bank-statements
    baseUri: https://api.codat.io
    description: Lending — Bank statements business capability. Self-contained, no shared references.
    resources:
    - name: companies-companyId-connections-connectionId-bankStatements-upload-configuration
      path: /companies/{companyId}/connections/{connectionId}/bankStatements/upload/configuration
      operations:
      - name: getbankstatementuploadconfiguration
        method: GET
        description: Get upload configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setbankstatementuploadconfiguration
        method: POST
        description: Set upload configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: companies-companyId-connections-connectionId-bankStatements-upload-dataset-datas
      path: /companies/{companyId}/connections/{connectionId}/bankStatements/upload/dataset/{datasetId}/endSession
      operations:
      - name: endbankstatementuploadsession
        method: POST
        description: End upload session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: companies-companyId-connections-connectionId-bankStatements-upload-dataset-datas
      path: /companies/{companyId}/connections/{connectionId}/bankStatements/upload/dataset/{datasetId}/upload
      operations:
      - name: uploadbankstatementdata
        method: POST
        description: Upload data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: companies-companyId-connections-connectionId-bankStatements-upload-startSession
      path: /companies/{companyId}/connections/{connectionId}/bankStatements/upload/startSession
      operations:
      - name: startbankstatementuploadsession
        method: POST
        description: Start upload session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: companies-companyId-connections-connectionId-data-banking-accountBalances
      path: /companies/{companyId}/connections/{connectionId}/data/banking-accountBalances
      operations:
      - name: listbankingaccountbalances
        method: GET
        description: List account balances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-accounts
      path: /companies/{companyId}/connections/{connectionId}/data/banking-accounts
      operations:
      - name: listbankingaccounts
        method: GET
        description: List accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-accounts-accountId
      path: /companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId}
      operations:
      - name: getbankingaccount
        method: GET
        description: Get account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-transactionCategories
      path: /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories
      operations:
      - name: listbankingtransactioncategories
        method: GET
        description: List transaction categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-transactionCategories-
      path: /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories/{transactionCategoryId}
      operations:
      - name: getbankingtransactioncategory
        method: GET
        description: Get transaction category
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-transactions
      path: /companies/{companyId}/connections/{connectionId}/data/banking-transactions
      operations:
      - name: listbankingtransactions
        method: GET
        description: List transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-connections-connectionId-data-banking-transactions-transacti
      path: /companies/{companyId}/connections/{connectionId}/data/banking-transactions/{transactionId}
      operations:
      - name: getbankingtransaction
        method: GET
        description: Get bank transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-reports-categorizedBankStatement-reportId-accounts
      path: /companies/{companyId}/reports/categorizedBankStatement/{reportId}/accounts
      operations:
      - name: listcategorizedbankstatementaccounts
        method: GET
        description: List categorized bank statement accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-reports-categorizedBankStatement-reportId-excel
      path: /companies/{companyId}/reports/categorizedBankStatement/{reportId}/excel
      operations:
      - name: downloadcategorizedbankstatementexcel
        method: GET
        description: Download categorized bank statement Excel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-reports-categorizedBankStatement-reportId-transactions
      path: /companies/{companyId}/reports/categorizedBankStatement/{reportId}/transactions
      operations:
      - name: getcategorizedbankstatementtransactions
        method: GET
        description: Get categorized bank statement transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyId-reports-enhancedCashFlow-transactions
      path: /companies/{companyId}/reports/enhancedCashFlow/transactions
      operations:
      - name: getcategorizedbankstatement
        method: GET
        description: Get categorized bank statement
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.CODAT_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: lending-bank-statements-rest
    port: 8080
    description: REST adapter for Lending — Bank statements. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/configuration
      name: companies-companyid-connections-connectionid-bankstatements-upload-configuration
      description: REST surface for companies-companyId-connections-connectionId-bankStatements-upload-configuration.
      operations:
      - method: GET
        name: getbankstatementuploadconfiguration
        description: Get upload configuration
        call: lending-bank-statements.getbankstatementuploadconfiguration
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: setbankstatementuploadconfiguration
        description: Set upload configuration
        call: lending-bank-statements.setbankstatementuploadconfiguration
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/dataset/{datasetid}/endsession
      name: companies-companyid-connections-connectionid-bankstatements-upload-dataset-datas
      description: REST surface for companies-companyId-connections-connectionId-bankStatements-upload-dataset-datas.
      operations:
      - method: POST
        name: endbankstatementuploadsession
        description: End upload session
        call: lending-bank-statements.endbankstatementuploadsession
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/dataset/{datasetid}/upload
      name: companies-companyid-connections-connectionid-bankstatements-upload-dataset-datas
      description: REST surface for companies-companyId-connections-connectionId-bankStatements-upload-dataset-datas.
      operations:
      - method: POST
        name: uploadbankstatementdata
        description: Upload data
        call: lending-bank-statements.uploadbankstatementdata
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/bankstatements/upload/startsession
      name: companies-companyid-connections-connectionid-bankstatements-upload-startsession
      description: REST surface for companies-companyId-connections-connectionId-bankStatements-upload-startSession.
      operations:
      - method: POST
        name: startbankstatementuploadsession
        description: Start upload session
        call: lending-bank-statements.startbankstatementuploadsession
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-accountbalances
      name: companies-companyid-connections-connectionid-data-banking-accountbalances
      description: REST surface for companies-companyId-connections-connectionId-data-banking-accountBalances.
      operations:
      - method: GET
        name: listbankingaccountbalances
        description: List account balances
        call: lending-bank-statements.listbankingaccountbalances
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-accounts
      name: companies-companyid-connections-connectionid-data-banking-accounts
      description: REST surface for companies-companyId-connections-connectionId-data-banking-accounts.
      operations:
      - method: GET
        name: listbankingaccounts
        description: List accounts
        call: lending-bank-statements.listbankingaccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-accounts/{accountid}
      name: companies-companyid-connections-connectionid-data-banking-accounts-accountid
      description: REST surface for companies-companyId-connections-connectionId-data-banking-accounts-accountId.
      operations:
      - method: GET
        name: getbankingaccount
        description: Get account
        call: lending-bank-statements.getbankingaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-transactioncategories
      name: companies-companyid-connections-connectionid-data-banking-transactioncategories
      description: REST surface for companies-companyId-connections-connectionId-data-banking-transactionCategories.
      operations:
      - method: GET
        name: listbankingtransactioncategories
        description: List transaction categories
        call: lending-bank-statements.listbankingtransactioncategories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-transactioncategories/{transactioncategoryid}
      name: companies-companyid-connections-connectionid-data-banking-transactioncategories
      description: REST surface for companies-companyId-connections-connectionId-data-banking-transactionCategories-.
      operations:
      - method: GET
        name: getbankingtransactioncategory
        description: Get transaction category
        call: lending-bank-statements.getbankingtransactioncategory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-transactions
      name: companies-companyid-connections-connectionid-data-banking-transactions
      description: REST surface for companies-companyId-connections-connectionId-data-banking-transactions.
      operations:
      - method: GET
        name: listbankingtransactions
        description: List transactions
        call: lending-bank-statements.listbankingtransactions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/connections/{connectionid}/data/banking-transactions/{transactionid}
      name: companies-companyid-connections-connectionid-data-banking-transactions-transacti
      description: REST surface for companies-companyId-connections-connectionId-data-banking-transactions-transacti.
      operations:
      - method: GET
        name: getbankingtransaction
        description: Get bank transaction
        call: lending-bank-statements.getbankingtransaction
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/accounts
      name: companies-companyid-reports-categorizedbankstatement-reportid-accounts
      description: REST surface for companies-companyId-reports-categorizedBankStatement-reportId-accounts.
      operations:
      - method: GET
        name: listcategorizedbankstatementaccounts
        description: List categorized bank statement accounts
        call: lending-bank-statements.listcategorizedbankstatementaccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/excel
      name: companies-companyid-reports-categorizedbankstatement-reportid-excel
      description: REST surface for companies-companyId-reports-categorizedBankStatement-reportId-excel.
      operations:
      - method: GET
        name: downloadcategorizedbankstatementexcel
        description: Download categorized bank statement Excel
        call: lending-bank-statements.downloadcategorizedbankstatementexcel
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/reports/categorizedbankstatement/{reportid}/transactions
      name: companies-companyid-reports-categorizedbankstatement-reportid-transactions
      description: REST surface for companies-companyId-reports-categorizedBankStatement-reportId-transactions.
      operations:
      - method: GET
        name: getcategorizedbankstatementtransactions
        description: Get categorized bank statement transactions
        call: lending-bank-statements.getcategorizedbankstatementtransactions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/companies/{companyid}/reports/enhancedcashflow/transactions
      name: companies-companyid-reports-enhancedcashflow-transactions
      description: REST surface for companies-companyId-reports-enhancedCashFlow-transactions.
      operations:
      - method: GET
        name: getcategorizedbankstatement
        description: Get categorized bank statement
        call: lending-bank-statements.getcategorizedbankstatement
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: lending-bank-statements-mcp
    port: 9090
    transport: http
    description: MCP adapter for Lending — Bank statements. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-upload-configuration
      description: Get upload configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getbankstatementuploadconfiguration
      outputParameters:
      - type: object
        mapping: $.
    - name: set-upload-configuration
      description: Set upload configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lending-bank-statements.setbankstatementuploadconfiguration
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: end-upload-session
      description: End upload session
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lending-bank-statements.endbankstatementuploadsession
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-data
      description: Upload data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lending-bank-statements.uploadbankstatementdata
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: start-upload-session
      description: Start upload session
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lending-bank-statements.startbankstatementuploadsession
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-account-balances
      description: List account balances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.listbankingaccountbalances
      outputParameters:
      - type: object
        mapping: $.
    - name: list-accounts
      description: List accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.listbankingaccounts
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account
      description: Get account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getbankingaccount
      outputParameters:
      - type: object
        mapping: $.
    - name: list-transaction-categories
      description: List transaction categories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.listbankingtransactioncategories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-transaction-category
      description: Get transaction category
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getbankingtransactioncategory
      outputParameters:
      - type: object
        mapping: $.
    - name: list-transactions
      description: List transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.listbankingtransactions
      outputParameters:
      - type: object
        mapping: $.
    - name: get-bank-transaction
      description: Get bank transaction
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getbankingtransaction
      outputParameters:
      - type: object
        mapping: $.
    - name: list-categorized-bank-statement-accounts
      description: List categorized bank statement accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.listcategorizedbankstatementaccounts
      outputParameters:
      - type: object
        mapping: $.
    - name: download-categorized-bank-statement-excel
      description: Download categorized bank statement Excel
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.downloadcategorizedbankstatementexcel
      outputParameters:
      - type: object
        mapping: $.
    - name: get-categorized-bank-statement-transactions
      description: Get categorized bank statement transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getcategorizedbankstatementtransactions
      outputParameters:
      - type: object
        mapping: $.
    - name: get-categorized-bank-statement
      description: Get categorized bank statement
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lending-bank-statements.getcategorizedbankstatement
      outputParameters:
      - type: object
        mapping: $.