{"openapi":"3.1.0","info":{"title":"Accounts","description":"Automate payments across banks with a single API","version":"1","contact":{"name":"API Support","email":"dev@numeral.io"}},"tags":[{"name":"Connected accounts","description":"Connected accounts endpoints"},{"name":"Transactions","description":"Transactions endpoints"},{"name":"Balances","description":"Balances endpoints"}],"servers":[{"url":"https://sandbox.numeral.io/v1"}],"components":{"securitySchemes":{"sec0":{"type":"apiKey","in":"header","name":"x-api-key"}},"parameters":{"list.common_parameters.sort_order":{"name":"sort_order","in":"query","description":"Order is based on attribute `created_at`. If `asc`, results are fetched in chronological order. If `desc`, results are fetched in reversed chronological order. Default order is `desc`.\n","schema":{"type":"string","enum":["asc","desc"]}}},"responses":{"errors.400.validation":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"errors.404.not_found":{"description":"The specified resource was not found."},"errors.409.conflict":{"description":"Conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"errors.415.unsupported_media_type":{"description":"Unsupported Media Type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"errors.500.internal_server_error":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"error":{"type":"object","properties":{"error":{"type":"string","example":"validation_error"},"message":{"type":"string","example":"validation errors occurred while processing request"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"reason":{"type":"string"}}}},"correlation_id":{"type":"string","format":"uuid"}}},"currency":{"type":"string","description":"Currency in which an amount is expressed","enum":["EUR"],"example":"EUR"},"common.metadata":{"type":"object","description":"Additional client data in JSON format. See [Metadata](ref:metadata).","example":{"key_one":"value","key_two":24}},"common.custom_fields":{"type":"object","description":"Custom fields in JSON `key:value` format. See [Custom fields](ref:custom-fields)."},"balance.type":{"type":"string","enum":["closing_available","closing_booked","opening_available","opening_booked","interim_available","interim_booked","previously_closed","expected","forward_available","info","undefined"],"description":"Balance's type:\n* `closing_available`: Available balance at the close of the account servicer's business day\n* `closing_booked`: Booked balance at the close of the account servicer's business day.\n* `opening_available`: Available balance at the start of the account servicer's business day.\n* `opening_booked`: Booked balance at the start of the business day, equal to the previous day's closing booked balance.\n* `interim_available`: Available balance calculated during the business day; subject to further change before end of day.\n* `interim_booked`: Booked balance calculated during the business day, based on booked entries only; subject to further change before end of day.\n* `previously_closed`: Closing booked balance from the previous statement.\n* `expected`: Projected end-of-day balance, combining booked entries with pending items known at calculation time.\n* `forward_available`: Available balance projected for a future value date.\n* `info`: Balance provided for information only; not part of the account's ledger.\n* `undefined`: No balance type was set or present.\n","example":"opening_available"},"balance.bank_data":{"type":"object","required":["file_id"],"properties":{"file_id":{"type":"string","description":"Identifier of the file in which this balance has been described","example":"26f4ca1c-65b0-412f-b464-206721d1e6d8"},"statement_id":{"type":"string","description":"ISO20022 | Unique identification, as assigned by the account servicer, to unambiguously identify this balance. ","example":"STS-C4RR9YPLL0HHIFFHR-D8CEX3"}}},"balance.details":{"type":"object","description":"Amount of money held by a connected_account, at a given point in time.","required":["id","object","connected_account_id","amount","currency","direction","type","date","bank_data","created_at"],"properties":{"id":{"type":"string","description":"UUID of the balance.","example":"210910eb-a84a-40f6-ac68-7a2c18d62692"},"object":{"type":"string","enum":["balance"],"description":"Label used to identify this kind of object.","example":"balance"},"connected_account_id":{"type":"string","description":"The ID of the connected account.","example":"ff1714ae-3ec8-450d-984c-c6ee44c82a88"},"amount":{"type":"integer","description":"The absolute amount of balance of the account, in the currency's smallest unit.\n\nFor euro transactions, the smallest unit is cents. €20 is represented as `2000`.\n","minimum":0,"default":0,"example":1200000},"currency":{"$ref":"#/components/schemas/currency"},"direction":{"type":"string","enum":["credit","debit"],"description":"Balance's direction:\n  * `credit`: The balance is positive.\n  * `debit`: The balance is negative.\n","example":"credit"},"type":{"$ref":"#/components/schemas/balance.type"},"date":{"type":"string","format":"date","description":"The date of the balance. (Format: YYYY-MM-DD)","example":"2022-01-03"},"bank_data":{"$ref":"#/components/schemas/balance.bank_data"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp of the creation of this balance.","example":"2022-01-03T00:11:07Z"}}},"connected_account.address":{"type":"object","description":"A connected account address","required":["line_1","line_2","postal_code","region_state","city","country"],"properties":{"line_1":{"type":"string","description":"Address line number one.","example":"1, avenue des Champs Elysées"},"line_2":{"type":"string","description":"Address line number two.","example":"75008 Paris, France"},"building_number":{"type":"string","description":"Address building number.","example":"1"},"street_name":{"type":"string","description":"Address street name.","example":"avenue des Champs Elysées"},"postal_code":{"type":"string","description":"Address postal code.","example":"75008"},"region_state":{"type":"string","description":"Address region or state.","example":"Ile de France"},"city":{"type":"string","description":"Address city.","example":"Paris"},"country":{"type":"string","description":"Address country.","example":"FR"},"room":{"type":"string","description":"Room number.","example":"47"},"floor":{"type":"string","description":"Floor number or identifier.","example":"3"},"postal_box":{"type":"string","description":"Postal box.","example":"67b"},"department":{"type":"string","description":"Department name or code.","example":"Marketing"},"sub_department":{"type":"string","description":"Sub-department name.","example":"Content team"},"building_name":{"type":"string","description":"Name of the building.","example":"Bat. 4"},"district_name":{"type":"string","description":"District name or administrative region.","example":"District 9"},"city_location_name":{"type":"string","description":"Specific city location or landmark.","example":"Confluences"}}},"connected_account.details":{"type":"object","description":"Bank account managed through Numeral","required":["id","object","type","name","bank_code","bank_name","creditor_identifier","currency","account_number","bank_id","services_activated","file_auto_approval","address","metadata","custom_fields","disabled_at","created_at"],"properties":{"id":{"type":"string","description":"The ID of the connected account.","example":"634f662d-44f3-4b56-b823-a1442d5beb69"},"object":{"type":"string","description":"Type of the object, `connected_account`.","default":"connected_account","example":"connected_account"},"type":{"type":"string","enum":["financial_institution","corporate"],"description":"The type of the connected account: * `financial_institution`: * `corporate`:\n","example":"corporate"},"name":{"type":"string","description":"The name of the connected account.","example":"BNP Paribas TechCo account"},"bank_code":{"type":"string","description":"The bank code of the connected account. It can be a BIC or a sort code.","example":"BNPAFRPPXXX"},"bank_name":{"type":"string","description":"Name of the bank to which this `connected_account` is linked.","example":"BNP Paribas"},"bank_address":{"$ref":"#/components/schemas/connected_account.address","description":"The address of the bank to which this `connected_account` is linked."},"creditor_identifier":{"type":"string","description":"The unique reference for organisations collecting payments by SEPA Direct Debit.","example":"FR12ZZZ123456","maxLength":35},"legal_entity_identifier":{"type":"string","minLength":20,"maxLength":20,"description":"The legal entity identifier (LEI) of the connected account.","example":"529900T8BM49AURSDO55"},"currency":{"type":"string","format":"iso-4217","description":"The currency of the connected account, as an [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217).","example":"EUR"},"account_number":{"type":"string","description":"The account number of the connected account.","example":"FR1420041010050500013M02606"},"account_number_format":{"type":"string","description":"The format of the account number.","enum":["iban","uk_account_number","us_account_number","tokenized","other"],"example":"iban"},"bank_code_format":{"type":"string","description":"The format of the bank code.","enum":["bic","uk_sorting_code","us_aba_routing_number","tokenized","other"],"example":"bic"},"services_activated":{"type":"array","description":"The services activated for the connected account.","items":{"$ref":"#/components/schemas/connected_account.bank_service"}},"file_auto_approval":{"type":"boolean","description":"When `file_auto_approval` is `true`, files related to this connected account get automatically approved. When `file_auto_approval` is `false`, files related to this connected account must be approved in order to be sent.\n"},"address":{"$ref":"#/components/schemas/connected_account.address"},"metadata":{"type":"object","description":"Additional client data in JSON format. See [Metadata](ref:metadata).","example":{"key_one":"value","key_two":24}},"custom_fields":{"$ref":"#/components/schemas/common.custom_fields"},"disabled_at":{"type":["string","null"],"format":"date-time","example":null},"created_at":{"type":"string","format":"date-time","description":"2022-06-17T08:49:54.54422Z"},"bank_data":{"type":"object","description":"Bank data in JSON `key:value` format.","properties":{"external_id":{"type":"string","description":"The external ID of the connected account provided by the bank.","example":"1234567890"}}}}},"connected_account.update":{"type":"object","properties":{"custom_fields":{"$ref":"#/components/schemas/common.custom_fields"}}},"connected_account.search_result":{"type":"object","required":["records"],"properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/connected_account.details"}}}},"connected_account.bank_service":{"type":"string","enum":["sct","sdd","sct_inst","sct_inst_watch","psr_in","psr_out","end_of_day_statements","intra_day_statements","debit_credit_notifications"]},"transaction.counterparty_account":{"type":"object","description":"The account of the counterparty, which is either the debitor or the creditor depending on the transaction's `direction`.","required":["account_number","holder_name"],"properties":{"account_number":{"type":"string","description":"The account number of the counterparty, which can be the IBAN or any other identification provided by the bank.","example":"FR5412739000504811631858C47"},"holder_name":{"type":"string","description":"The name of the counterparty.","example":"Jane Doe"}}},"transaction.external_account":{"type":"object","description":"The external account, which is either the debtor or the creditor depending on the transaction's `direction`.","required":["account_number","holder_name"],"properties":{"account_number":{"type":"string","description":"The external account number, which can be the IBAN or any other identification provided by the bank.","example":"FR5412739000504811631858C47"},"bank_code":{"type":"string","description":"The bank code of the external account.","example":"BNPAFRPPXXX"},"holder_name":{"type":"string","description":"The name of the external account holder.","example":"Jane Doe"},"holder_address":{"description":"The holder address of the external account.","$ref":"#/components/schemas/transaction.external_account.holder_address"}}},"transaction.external_account.holder_address":{"type":"object","description":"The address of the account holder, as an address object.","properties":{"line_1":{"type":"string","description":"Line 1.","example":"1, rue de la Bourse"},"line_2":{"type":"string","description":"Line 2."},"building_number":{"type":"string","description":"Building number.","example":"1"},"street_name":{"type":"string","description":"Street name.","example":"rue de la Bourse"},"postal_code":{"type":"string","description":"Postal / zip code.","example":"59000"},"region_state":{"type":"string","description":"Region or state."},"city":{"type":"string","example":"Lille","description":"City."},"country":{"type":"string","example":"FR","description":"ISO 3166 alpha-2 country code."},"department":{"type":["string","null"],"description":"Department name or code.","example":"Marketing"},"sub_department":{"type":["string","null"],"description":"Sub-department name.","example":"Content team"},"building_name":{"type":["string","null"],"description":"Name of the building.","example":"Bat. 4"},"floor":{"type":["string","null"],"description":"Floor number or identifier.","example":"3"},"postal_box":{"type":["string","null"],"description":"Postal box.","example":"67b"},"room":{"type":["string","null"],"description":"Room number.","example":"47"},"city_location_name":{"type":["string","null"],"description":"Specific city location or landmark.","example":"Confluences"},"district_name":{"type":["string","null"],"description":"District name or administrative region.","example":"District 9"}}},"transaction.internal_account":{"type":"object","description":"The internal account, which is either the debtor or the creditor depending on the transaction's `direction`.","required":["account_number"],"properties":{"account_number":{"type":"string","description":"The account number of the internal account, which is a virtual account number.","example":"FR4714508000301359366727T71"},"holder_name":{"type":"string","description":"The name of the internal account holder.","example":"John Doe"}}},"transaction.bank_data":{"type":"object","required":["file_id"],"properties":{"file_id":{"type":"string","description":"Identifier of the file in which this transaction has been described","example":"26f4ca1c-65b0-412f-b464-206721d1e6d8"},"statement_id":{"type":"string","description":"ISO20022 | Unique identification, as assigned by the account servicer, to unambiguously identify this transaction. ","example":"STS-C4RR9YPLL0HHIFFHR-D8CET1"},"end_to_end_id":{"type":"string","description":"ISO20022 | Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\n","example":"2144F77DJZB5949E0B15A7Z8923TX1"}}},"transaction.reconciliation_status":{"type":"string","enum":["partially_reconciled","reconciled","excluded","unreconciled"],"description":"The reconciliation status of the transaction, which is either `unreconciled`, `reconciled`, `excluded` or `partially_reconciled`."},"transaction.category":{"type":"string","enum":["credit_transfer","cash_concentration","direct_debit","cheque","card","lockbox","counter_operation","bill_of_order","instant_credit_transfer","other_payment","cash_pooling","account_balancing","other_cash_management","derivative","loan","fx","precious_metals","commodities","trade_services","securities","account_management","unavailable"],"description":"The category of the transaction.","example":"credit_transfer"},"transaction.details":{"type":"object","description":"Debit or credit transaction on a connected account.","required":["id","object","connected_account_id","booking_date","value_date","category","description","direction","amount","currency","counterparty_account","external_account","internal_account","virtual_account_number","bank_data","custom_fields","reconciliation_status","reconciled_amount","created_at"],"properties":{"id":{"type":"string","description":"The UUID of the transaction.","example":"f6ada630-1774-46c1-a27f-1ce2f5fb8647"},"object":{"type":"string","enum":["transaction"],"description":"Label used to identify this kind of object.","example":"transaction"},"connected_account_id":{"type":"string","description":"The ID of the connected account.","example":"ff1714ae-3ec8-450d-984c-c6ee44c82a88"},"booking_date":{"type":"string","format":"date","description":"The date when a transaction is registered on the account.","example":"2022-01-03"},"value_date":{"type":"string","format":"date","description":"The date when a transaction is effectively credited or debited on the account.","example":"2022-01-03"},"category":{"$ref":"#/components/schemas/transaction.category"},"description":{"type":"string","description":"The description of the transaction.","example":"MyCompany Invoice 5678"},"direction":{"type":"string","enum":["debit","credit"],"description":"The direction of the transaction, either `debit` or `credit`.","example":"credit"},"amount":{"type":"integer","minimum":1,"description":"The absolute value of the transaction, in the specified currency's smallest unit.\n\nFor euro transactions, the smallest unit is cents. €20 is represented as `2000`.\n","example":2000},"currency":{"$ref":"#/components/schemas/currency"},"counterparty_account":{"$ref":"#/components/schemas/transaction.counterparty_account","deprecated":true},"external_account":{"$ref":"#/components/schemas/transaction.external_account"},"virtual_account_number":{"type":"string","description":"The number of the virtual account linked to the transaction.","example":"FR4714508000301359366727T71","deprecated":true},"internal_account":{"$ref":"#/components/schemas/transaction.internal_account"},"internal_account_id":{"type":"string","description":"The ID of the internal account linked to the transaction.","example":"d08922ee-dce1-45dc-b9cd-c83251fb9fc5"},"external_account_id":{"type":"string","description":"The ID of the external account linked to the transaction.","example":"d08922ee-dce1-45dc-b9cd-c83251fb9fc5"},"uetr":{"type":"string","format":"uuid","description":"Unique End-to-end Transaction Reference (UETR)."},"bank_data":{"$ref":"#/components/schemas/transaction.bank_data"},"custom_fields":{"$ref":"#/components/schemas/common.custom_fields"},"reconciliation_status":{"$ref":"#/components/schemas/transaction.reconciliation_status"},"reconciled_amount":{"type":"integer","minimum":0,"description":"The amount of the transaction that is already reconciled.\nIt is the sum of the `amount` of the reconciliations related to this transaction.\n","example":0},"transaction_validation":{"type":"object","description":"Information about the transaction validation, like the validation rules and validation statuses. `null` if no transaction validation rule is attached to the transaction.","required":["status","validation_results"],"properties":{"status":{"type":"string","description":"The aggregated status of transaction validation for this transaction.","enum":["in_progress","successful","failed"]},"validation_results":{"type":"array","description":"Array of objects detailing the results of transaction validation for a given transaction validation rule. If the transaction has 2 rules attached, then this array will contain 2 objects.","items":{"type":"object","required":["transaction_validation_rule_id","status","validations"],"properties":{"transaction_validation_rule_id":{"type":"string","format":"uuid","description":"The ID of the transaction validation rule.","example":"c2c303de-c0f0-4015-801d-6ae24f248092"},"status":{"type":"string","description":"The aggregated status of the transaction validation contained in this rule.","enum":["in_progress","successful","failed"]},"validations":{"type":"array","description":"Array of array of objects detailing the result of one given transaction validation.","items":{"type":"array","items":{"type":"object","required":["type","status"],"properties":{"type":{"type":"string","description":"The type of the transaction validation.","enum":["liquidity_screening","sanctions_screening","risk_screening","limits_screening"]},"status":{"type":"string","description":"The status of the transaction validation.","enum":["queued","in_progress","successful","failed","canceled","pending_investigation","pending_retry","technical_error"]},"status_details":{"type":"string","description":"Details about the status.","example":"some details"},"resource_id":{"type":"string","description":"ID of the resource used to perform the transaction validation.","example":"b29b85ad-b2ef-4978-b27f-e44ae4914756"},"resource_url":{"type":"string","description":"URL of the resource used to perform the transaction validation.","example":"https://example.com/b29b85ad-b2ef-4978-b27f-e44ae4914756"},"mode":{"type":"string","description":"The mode of the transaction validation.","enum":["pre_built","custom"]},"last_updated_at":{"type":"string","format":"date-time","example":"2022-01-03T11:53:19.568Z","description":"The UTC timestamp of the last updated time of the transaction validation."},"retry_details":{"type":"object","nullable":true,"description":"Tracks the retry context of an individual validation.\nExposed only when:\n  - `status` is `pending_retry` (a retry is scheduled), OR\n  - `status` is `failed` after retries have been exhausted\n    (in which case `final_action` was just executed).\nIn every other state this field is `null`.\n\nNo event is emitted while the validation sits in `pending_retry`;\nevents fire only on transitions in and out of that state.\n","properties":{"attempt_count":{"type":"integer","minimum":1,"maximum":5,"description":"Number of attempts completed so far, including the initial.","example":1},"max_attempts":{"type":"integer","minimum":1,"maximum":5,"description":"Configured maximum number of attempts (from `retry_policy.max_attempts`).","example":3},"next_attempt_at":{"type":"string","format":"date-time","nullable":true,"description":"UTC timestamp of the next scheduled retry. `null` once retries\nhave been exhausted.\n","example":"2026-03-27T14:00:00Z"},"final_action":{"type":"string","enum":["complete_validation"],"description":"Action that will be (or has been) executed once retries are exhausted.\nMirrors the outcome's `action` field from the matching `payment_validation_rule`.\n","example":"complete_validation"}}}}}}}}}}}},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp of the creation of this transaction.","example":"2022-01-03T00:11:07Z"}}}}},"security":[{"sec0":[]}],"paths":{"/connected_accounts":{"get":{"summary":"List connected accounts","description":"List and filter connected accounts.","operationId":"list-connected-accounts","tags":["Connected accounts"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"starting_after","in":"query","description":"The ID of the object from which your list request will start. It is not included in the result.","schema":{"type":"string","example":"b5ae8f5c-8500-4541-be19-3f38471fabcf"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","schema":{"type":"string","format":"date","example":"2022-06-17"}},{"name":"end_date","in":"query","schema":{"type":"string","format":"date","example":"2022-06-17"}},{"name":"enabled","in":"query","description":"* `true`: search for connected_accounts which are explicitly enabled\n* `false`: search for connected_accounts which are explicitly disabled\n* Not provided: search for all connected_accounts no matter they are enabled or disabled\n","schema":{"type":"boolean","example":false}},{"name":"bank_name","in":"query","description":"The bank name of the connected account.","schema":{"type":"string","example":"BNP Paribas"}},{"name":"address.country","in":"query","description":"The country of the connected account's address (as ISO 3166 alpha-2 country code).","schema":{"type":"string","example":"FR"}}],"responses":{"200":{"description":"List of filtered connected accounts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connected_account.search_result"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}}},"/connected_accounts/{id}":{"post":{"summary":"Update connected account","description":"Update a connected account.","operationId":"update-connected-account","tags":["Connected accounts"],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the connected account to update."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connected_account.update"}}}},"responses":{"200":{"description":"Successfully updated connected account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connected_account.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"},"409":{"$ref":"#/components/responses/errors.409.conflict"},"415":{"$ref":"#/components/responses/errors.415.unsupported_media_type"},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}},"get":{"summary":"Retrieve connected account","description":"Retrieve the details of a connected account.","operationId":"retrieve-connected-account","tags":["Connected accounts"],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true,"description":"The ID of the connected account being looked for."}],"responses":{"200":{"description":"Successfully retrieved connected account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connected_account.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}}},"/balances":{"get":{"summary":"List balances","description":"List all balances. In the response, balance records are sorted as follow:\n  * From the most recent to the oldest, based on `date`\n  * Within each day, an additional ordering by type is applied and balances are sorted in the order defined [here](ref:balance-object)\n","operationId":"list-balances","tags":["Balances"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"starting_after","in":"query","description":"The ID of the object from which your list request will start. It is not included in the result.","schema":{"type":"string"}},{"name":"sort_order","in":"query","description":"Order is based on attribute `date`. If `asc`, results are fetched in chronological order. If `desc`, results are fetched in reversed chronological order. Default order is `desc`.\n","schema":{"type":"string","enum":["asc","desc"]}},{"name":"start_date","in":"query","description":"The date of the balance.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"The date of the balance.","schema":{"type":"string","format":"date"}},{"name":"connected_account_id","in":"query","description":"The ID of the connected account related to the balance.","schema":{"type":"string"}},{"name":"direction","in":"query","description":"The direction of the balance.","schema":{"type":"string","enum":["credit","debit"]}},{"name":"type","in":"query","description":"The type of the balance.","schema":{"$ref":"#/components/schemas/balance.type"}},{"name":"currency","in":"query","description":"The currency of the balance.","schema":{"type":"string"}},{"name":"amount_from","in":"query","description":"The amount of the balance","schema":{"type":"integer","minimum":0}},{"name":"amount_to","in":"query","description":"The amount of the balance","schema":{"type":"integer","minimum":0}},{"name":"file_id","in":"query","description":"The ID of the file including the balance.","schema":{"type":"string"}},{"name":"latest","in":"query","description":"If `true`, only latest balances per `connected_account_id` and `currency` are returned. Balances with type `forward_available` are excluded.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","required":["records"],"properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/balance.details"}}}}}}},"400":{"$ref":"#/components/responses/errors.400.validation"}}}},"/balances/{id}":{"get":{"summary":"Retrieve balance","description":"Retrieve a balance","operationId":"retrieve-balance","tags":["Balances"],"parameters":[{"name":"id","in":"path","description":"The ID of the balance.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/balance.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"}}}},"/transactions":{"get":{"summary":"List transactions","description":"List and filter transactions.","operationId":"list-transactions","tags":["Transactions"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"starting_after","in":"query","description":"The ID of the object from which your list request will start. It is not included in the result.","schema":{"type":"string"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","description":"The creation date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"The creation date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"start_booking_date","in":"query","description":"The booking date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"end_booking_date","in":"query","description":"The booking date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"start_value_date","in":"query","description":"The value date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"end_value_date","in":"query","description":"The value date of the transaction.","schema":{"type":"string","format":"date"}},{"name":"direction","in":"query","description":"The direction of the transaction.","schema":{"type":"string","enum":["credit","debit"]}},{"name":"currency","in":"query","description":"The currency of the transaction. All ISO-4217 currency codes are supported.","schema":{"type":"string"}},{"name":"counterparty_account_number","in":"query","schema":{"type":"string"},"deprecated":true},{"name":"counterparty_name","in":"query","schema":{"type":"string"},"deprecated":true},{"name":"external_account_number","in":"query","schema":{"type":"string"}},{"name":"external_account_holder_name","in":"query","schema":{"type":"string"}},{"name":"external_account_id","in":"query","schema":{"type":"string"}},{"name":"internal_account_id","in":"query","schema":{"type":"string"}},{"name":"amount_from","in":"query","description":"The amount of the transaction.","schema":{"type":"integer","minimum":1}},{"name":"amount_to","in":"query","description":"The amount of the transaction.","schema":{"type":"integer","minimum":1}},{"name":"virtual_account_number","in":"query","schema":{"type":"string"},"deprecated":true},{"name":"internal_account_number","in":"query","schema":{"type":"string"}},{"name":"connected_account_id","in":"query","description":"The ID of the connected account related to the transaction.","schema":{"type":"string"}},{"name":"file_id","in":"query","description":"The ID of the file including the transaction.","schema":{"type":"string"}},{"name":"category","in":"query","description":"The category of the transaction.","schema":{"$ref":"#/components/schemas/transaction.category"}},{"name":"reconciliation_status","in":"query","description":"The reconciliation status of the transaction.","schema":{"$ref":"#/components/schemas/transaction.reconciliation_status"}},{"name":"uetr","in":"query","description":"Unique End-to-end Transaction Reference (UETR).","schema":{"type":"string"}}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","required":["records"],"properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/transaction.details"}}}}}}},"400":{"$ref":"#/components/responses/errors.400.validation"}}}},"/transactions/{id}":{"post":{"summary":"Update transaction","description":"Update a transaction.","operationId":"update-transaction","tags":["Transactions"],"parameters":[{"name":"id","in":"path","description":"The ID of the transaction.","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"custom_fields":{"$ref":"#/components/schemas/common.custom_fields"}}}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"},"409":{"$ref":"#/components/responses/errors.409.conflict"},"415":{"$ref":"#/components/responses/errors.415.unsupported_media_type"}}},"get":{"summary":"Retrieve transaction","description":"Retrieve the details of a transaction.","operationId":"retrieve-transaction","tags":["Transactions"],"parameters":[{"name":"id","in":"path","description":"The ID of the transaction.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"}}}},"/transactions/{id}/transaction_validation":{"post":{"summary":"Update transaction validation","description":"Update a validation status for a transaction.","operationId":"update-transaction-validation","tags":["Transactions"],"parameters":[{"name":"id","in":"path","description":"The ID of the transaction.","schema":{"type":"string"},"required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["transaction_validation_rule_id","type","status"],"properties":{"transaction_validation_rule_id":{"type":"string","format":"uuid","description":"The ID of the transaction validation rule.","example":"c2c303de-c0f0-4015-801d-6ae24f248092"},"type":{"type":"string","description":"The type of the transaction validation.","enum":["liquidity_screening","sanctions_screening","risk_screening","limits_screening"]},"status":{"type":"string","description":"The status of the transaction validation.","enum":["successful","failed","pending_investigation"]},"status_details":{"type":"string","maxLength":1000,"description":"Details about the status.","example":"some details"},"resource_id":{"type":"string","maxLength":1000,"description":"ID of the resource used to perform the transaction validation.","example":"b29b85ad-b2ef-4978-b27f-e44ae4914756"},"resource_url":{"type":"string","maxLength":1000,"description":"URL of the resource used to perform the transaction validation.","example":"https://example.com/b29b85ad-b2ef-4978-b27f-e44ae4914756"}}}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"404":{"$ref":"#/components/responses/errors.404.not_found"}}}}}}