{"openapi":"3.1.0","info":{"title":"Tools","description":"Tools for Numeral platform","version":"1","contact":{"name":"API Support","email":"dev@numeral.io"}},"tags":[{"name":"Tools","description":"Tools for Numeral platform"},{"name":"Platform Health Check","description":"Platform health check endpoints"},{"name":"Connectivity Syncs","description":"Connectivity syncs endpoints"},{"name":"Audit Trails","description":"Audit trails endpoints"},{"name":"Process Payments","description":"Process payments endpoints"},{"name":"Bulk Actions","description":"Bulk actions endpoints"},{"name":"Message Forward","description":"Message forward endpoints"},{"name":"Custom Fields","description":"Custom fields 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"}}},"process_payments.request":{"type":"object","required":["connected_account_ids","payment_types"],"properties":{"connected_account_ids":{"type":"array","items":{"type":"string"},"description":"The list of connected account IDs to process payments for. Use `['*']` to include all connected accounts.","example":["*"]},"payment_types":{"type":"array","items":{"type":"string"},"description":"The list of payment types to process. The following types are supported: `bacs`, `chaps`, `fps`, `icelandic_exp`, `sepa`, `sepa_instant`, `sepa_urgent`, `swift`, `target2`, `treasury`. Use `['*']` to process payments of all types.","example":["*"]}}},"process_payments.response":{"type":"object","properties":{"accounts":{"type":"object","properties":{"successfully_processed":{"type":"array","items":{"type":"string"},"description":"A list of payment types that were successfully processed.","example":["sepa"]},"unsuccessfully_processed":{"type":["array","null"],"items":{"type":"string"},"description":"A list of payment types that were not successfully processed. `null` if all were processed successfully.","example":null}}}}},"create_bulk_action.request":{"type":"object","required":["target_object","action","items"],"properties":{"target_object":{"type":"string","enum":["payment_order","internal_account"],"description":"The object related to the bulk action."},"action":{"type":"string","enum":["create","approve","cancel"],"description":"The action to execute on the items included in the bulk action. \n\nIf `target_action` is `payment_order`, can be `create`, `approve` or `cancel`. If `target_action` is `internal_account`, can be `create`.\n"},"fail_on_validation_error":{"type":"boolean","description":"When set to `true`, if any item in `items` has an invalid payload, the bulk action will not be created. When set to `false`, the bulk action will be created and all items with valid payloads will be processed, whereas items with invalid payloads will be counted as failed. The default value is `true`.\n"},"items":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"object"}}}},"bulk_action.details":{"type":"object","properties":{"id":{"type":"string","description":"The bulk action ID."},"object":{"type":"string","description":"Type of the object, `bulk_action`.","default":"bulk_action","example":"bulk_action"},"target_object":{"type":"string","enum":["payment_order","internal_account"],"description":"The object related to the bulk action."},"action":{"type":"string","enum":["create","approve","cancel"],"description":"The action to execute on the items included in the bulk action. \n\nIf `target_action` is `payment_order`, can be `create`, `approve` or `cancel`. If `target_action` is `internal_account`, can be `create`.\n"},"status":{"type":"string","enum":["created","processing","executed"],"description":"The status of the bulk action. Either created, processing, or executed.","example":"processing"},"total_items":{"type":"integer","description":"The number of items included in the bulk action.","example":50},"total_successful":{"type":"integer","description":"The number of items successfully processed.","example":24},"total_failed":{"type":"integer","description":"The number of items that failed to be processed.","example":2},"processed_at":{"type":["string","null"],"format":"date-time","example":null,"description":"The UTC timestamp when the bulk action was processed."},"created_at":{"type":"string","format":"date-time","example":"2024-01-03T11:53:19.734182Z","description":"The UTC timestamp of the creation of the bulk action."}},"required":["id","object","target_object","action","status","total_items","total_successful","total_failed","processed_at","created_at"]},"bulk_action.response":{"type":"object","properties":{"id":{"type":"string","description":"The bulk action ID."},"object":{"type":"string","description":"Type of the object, `bulk_action`.","default":"bulk_action","example":"bulk_action"},"target_object":{"type":"string","enum":["payment_order","internal_account"],"description":"The object related to the bulk action."},"action":{"type":"string","enum":["create","approve","cancel"],"description":"The action to execute on the items included in the bulk action. \n\nIf `target_action` is `payment_order`, can be `create`, `approve` or `cancel`. If `target_action` is `internal_account`, can be `create`.\n"},"status":{"type":"string","enum":["created","processing","executed"],"description":"The status of the bulk action. Either created, processing, or executed.","example":"created"},"total_items":{"type":"integer","description":"The number of items included in the bulk action.","example":50},"total_successful":{"type":"integer","description":"The number of items successfully processed.","example":0},"total_failed":{"type":"integer","description":"The number of items that failed to be processed.","example":0},"processed_at":{"type":["string","null"],"format":"date-time","example":null,"description":"The UTC timestamp when the bulk actions was processed."},"created_at":{"type":"string","format":"date-time","example":"2024-01-03T11:53:19.734182Z","description":"The UTC timestamp of the creation of the bulk action."}},"required":["id","object","target_object","action","status","total_items","total_successful","total_failed","processed_at","created_at"]},"bulk_action.search_result":{"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/bulk_action.details"}}}},"bulk_action_items.details":{"type":"object","properties":{"id":{"type":"string","description":"The bulk action ID."},"object":{"type":"string","description":"Type of the object, `bulk_action`.","default":"bulk_action","example":"bulk_action"},"target_object":{"type":"string","enum":["payment_order","internal_account"],"description":"The object related to the bulk action."},"action":{"type":"string","enum":["create","approve","cancel"],"description":"The action to execute on the items included in the bulk action. \n\nIf `target_action` is `payment_order`, can be `create`, `approve` or `cancel`. If `target_action` is `internal_account`, can be `create`.\n"},"status":{"type":"string","enum":["created","processing","executed"],"description":"The status of the bulk action. Either created, processing, or executed.","example":"executed"},"total_items":{"type":"integer","description":"The number of items included in the bulk action.","example":5},"total_successful":{"type":"integer","description":"The number of  items successfully processed.","example":3},"total_failed":{"type":"integer","description":"The number of items that failed to be processed.","example":2},"succeeded":{"type":"array","items":{"type":"object"},"example":[{"id":"629fc72d-9a4f-40e3-bd45-da7cfe7db989","idempotency_key":"219aaa62-bd80-42a3-87cd-01be95e277d6"},{"id":"f2ae00d5-87b7-4769-a37c-81cbbc220bf3","idempotency_key":"5bc66ab3-6bd8-47a5-8254-09cf83e5d936"},{"id":"910fc09b-1ddc-4815-96f4-c902459d31f3","idempotency_key":"623d0493-a877-4d2b-9891-16608dc98a7f"}]},"failed":{"type":"array","items":{"type":"object"},"example":[{"idempotency_key":"c3dba9ea-5807-4316-b51e-b886eacff48b","error":"conflicting idempotency_key"},{"idempotency_key":"c4a3c141-5c1e-46cb-a057-7b867067bce5","error":"conflicting idempotency_key"}]},"processed_at":{"type":"string","format":"date-time","example":"2024-01-03T11:54:19.734183Z","description":"The UTC timestamp when the bulk actions was processed."},"created_at":{"type":"string","format":"date-time","example":"2024-01-03T11:53:19.734182Z","description":"The UTC timestamp of the creation of the bulk action."}},"required":["id","object","target_object","action","status","total_items","total_successful","total_failed","succeeded","failed","processed_at","created_at"]},"forwarded_file.details":{"type":"object","description":"A file is received from or sent to a bank. A file can be a payment file, a payment status report, an account statement, etc.","required":["id","object","connected_account_ids","direction","category","format","filename","size","summary","status","bank_data","status_details","created_at"],"properties":{"id":{"type":"string","description":"The UUID of the file.","example":"3ad331b9-12b2-48fd-ad35-203fe8b5e78e"},"object":{"type":"string","enum":["file"],"description":"Label used to identify this kind of object.","example":"file"},"connected_account_id":{"type":"string","format":"uuid","description":"The ID of the connected account used to send or receive the file.","deprecated":true},"connected_account_ids":{"type":"array","items":{"type":"string","example":"6669205e-e306-4b44-bf40-0475899eeb60"},"description":"The IDs of the connected accounts used to send the file. Contains only one entry."},"direction":{"type":"string","enum":["outgoing"],"description":"The transfer direction for the file_id: - `outgoing` for files sent or to be sent to the bank.\n","example":"outgoing"},"category":{"type":"string","enum":["forwarded_message"],"description":"The category of the file."},"format":{"type":"string","description":"The format of the file.","example":"custom.format"},"filename":{"type":"string","description":"The name of the file.","example":"SFPP30X40.3ad331b9-12b2-48fd-ad35-203fe8b5e78e.1659349967"},"size":{"type":"integer","minimum":0,"description":"The size of the file, expressed in bytes.","example":2234},"summary":{"type":"object","properties":{},"description":"A summary of the file, depending on its content."},"status":{"type":"string","enum":["created","approved","canceled","sent"]},"bank_data":{"type":"object","required":["message_ids"],"properties":{"message_ids":{"type":"array","items":{"type":"string","example":"211012231391882"}}},"description":"Bank data, such as message ID, in JSON `key:value` format."},"status_details":{"type":"string","description":"The details of the status of this file, such as the rejection reason for instance.","example":"generated on 2022-08-01"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp of the creation of the file.","example":"2022-08-01T06:00:05Z"}}},"custom_field.details":{"type":"object","required":["key","name","type","object_types","values","created_at"],"properties":{"key":{"type":"string","description":"The key of the custom field.","example":"customer_country"},"name":{"type":"string","example":"Customer country","description":"The name of the custom field."},"type":{"type":"string","example":"select","description":"The type of the custom field.","enum":["select","text"]},"object_types":{"type":"array","example":["payment_order","external_account"],"description":"The types of object this custom field can be applied to.","items":{"type":"string","enum":["payment_order","expected_payment","transaction","direct_debit_mandate","internal_account","external_account","connected_account"]}},"values":{"type":"array","description":"List of values the custom field can take. Only applicable to custom fields with `select` type.","example":[{"key":"fr","name":"France"},{"key":"uk","name":"United-Kingdom"}],"items":{"$ref":"#/components/schemas/custom_field.values_creation"}},"created_at":{"type":"string","format":"date-time","example":"2024-01-03T11:53:19.734182Z","description":"The UTC timestamp of the creation of the custom field."}}},"custom_field.search_result":{"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/custom_field.details"}}}},"custom_field.creation":{"type":"object","required":["key","name","type","object_types"],"properties":{"key":{"type":"string","description":"The key of the custom field. Must be unique and `snake_case`."},"name":{"type":"string","description":"The name of the custom field, which is an understandable description of the data it holds."},"type":{"type":"string","description":"The type of the custom field. Can be either `select` or `text`.","enum":["select","text"]},"object_types":{"type":"array","description":"The types of object this custom field can be applied to. Can be a combination of `payment_order`, `expected_payment`, `transaction`, `direct_debit_mandate`, `internal_account`, `external_account` and `connected_account`.","items":{"type":"string","enum":["payment_order","expected_payment","transaction","direct_debit_mandate","internal_account","external_account","connected_account"]}},"values":{"type":"array","description":"List of values the custom field can take. Only applicable to custom fields with `select` type.","items":{"$ref":"#/components/schemas/custom_field.values_creation"}}}},"custom_field.update":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The name of the custom field, which is an understandable description of the data it holds."},"values":{"type":"array","description":"List of values the custom field can take. Only applicable to custom fields with `select` type.","items":{"$ref":"#/components/schemas/custom_field.values_update"}}}},"custom_field.values_creation":{"type":"object","required":["key","name"],"properties":{"key":{"type":"string","description":"The key of the value. Must be unique in the custom field and `snake_case`."},"name":{"type":"string","description":"The name of the value."}}},"custom_field.values_update":{"type":"object","required":["key","name"],"properties":{"key":{"type":"string","description":"The key of the value, whether you update them or not."},"name":{"type":"string","description":"The name of the value, whether you update them or not."}}},"payment_retry_rule.details":{"type":"object","required":["id","object","name","description","retry_conditions","retries","created_at"],"properties":{"id":{"type":"string","format":"uuid","description":"The UUID of the payment retry rule.","example":"5075f0d2-6a6b-49ea-ae63-b11368873157"},"object":{"type":"string","description":"Type of the object, `payment_retry_rule`.","default":"payment_retry_rule"},"name":{"type":"string","description":"The name of the payment retry rule.","example":"SCT fallback"},"description":{"type":"string","description":"The description of the payment retry rule.","example":"Immediate fallback from SCT Inst to SCT"},"retry_conditions":{"type":"object","description":"The conditions to retry a payment.","required":["payment_type","payment_direction","statuses","reason_codes"],"properties":{"payment_type":{"type":"string","description":"The type of payments to retry. See [existing payment types](ref:payment-methods).","example":"sepa_instant"},"payment_direction":{"type":"string","description":"The direction of payments to retry. See [existing payment directions](ref:payment-methods).","example":"credit"},"statuses":{"type":"array","description":"The statuses of payments to retry. See [existing payment statuses](ref:payment-order-lifecycle#statuses).","items":{"type":"string"},"example":["rejected","returned"]},"reason_codes":{"type":"array","description":"The return or reject reason codes of payments to retry. See [existing payment reason codes](ref:sepa-reason-codes).","items":{"type":"string"},"example":["AB05","AB06","AB07","AB08","AB09","AB10","TECH","CNOR"]}}},"retries":{"type":"array","description":"The sequence of retries.","items":{"type":"object","required":["retry_to_payment_type","retry_after"],"properties":{"retry_to_payment_type":{"type":"string","description":"The type of the payment retry. See [existing payment types](ref:payment-methods).","example":"sepa_instant"},"retry_after":{"type":"string","description":"The time interval before retrying a payment, expressed in alphanumeric shorthand (`30s` for 30 seconds, `15m` for 15 minutes, `1hr` for 1 hour, `7d` for 7 days, etc.).","example":"15s"}}}},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp of the creation of the payment retry rule.","example":"2024-01-03T11:53:19.734182Z"}}},"payment_retry_rule.search_result":{"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/payment_retry_rule.details"}}}},"simulator_upload.response":{"type":"object","properties":{"connected_account":{"type":"string","description":"The same value that was provided in input.","example":"74ed567c-ffa9-4b39-a596-f0443721db5a"},"file_name":{"type":"string","description":"The same value that was provided in input.","example":"sct"},"bank_service":{"type":"string","description":"The same value that was provided in input.","example":"sct"},"file_direction":{"type":"string","description":"Always `incoming` for this flow.","example":"incoming"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp representing the moment we ingested the file.","example":"2025-01-26T13:51:10Z"},"size":{"type":"integer","description":"The size of the uploaded file.","example":123456}},"required":["connected_account","file_name","bank_service","file_direction","created_at","size"]},"simulator.v2.psr.request":{"type":"array","items":{"type":"object","required":["payment_id","status"],"properties":{"payment_id":{"type":"string","format":"uuid","description":"The payment ID which new status needs to be simulated. Only sent and `pending` payment orders, `sent` returns, and `confirmed` incoming payments can be chosen.","example":"acc2ef51-5c71-4a1e-b011-ecdbce1b9b73"},"status":{"type":"string","enum":["executed","rejected","pending","received"],"description":"The new payment status to be transitioned to. Allowed values include `executed` (for payment orders and returns), `rejected` (for payment orders, returns, and incoming payments), `pending` (for payment orders), and `received` (for confirmed SEPA instant incoming payments).","example":"executed"},"reason_code":{"type":"string","description":"ISO reason code to be used when rejecting a payment.","example":"AC04"}}}},"simulator.v2.balances.request":{"type":"array","items":{"type":"object","required":["amount"],"properties":{"amount":{"type":"number","format":"integer","description":"Balance amount, in [minimum currency unit](https://docs.numeral.io/reference/data-types).","example":1000},"type":{"type":"string","example":"closing_available","description":"Balance type. Available balance types can be found [here](https://docs.numeral.io/reference/balance-object)."},"currency":{"type":"string","example":"EUR","description":"Balance currency. Only [ISO 4217 currency codes](https://docs.numeral.io/reference/currency-codes-and-digits) are allowed."},"direction":{"type":"string","example":"credit","enum":["debit","credit"],"description":"Balance direction. Only `debit` and `credit` are allowed."},"date":{"type":"string","format":"date","description":"Balance date. The format should be YYYY-MM-DD.","example":"2025-12-30"}}}},"simulator.v2.transactions.request":{"type":"array","items":{"type":"object","required":["amount","type","direction","account_servicer_reference"],"properties":{"amount":{"type":"integer","minimum":1,"description":"The absolute value of the transaction, in the specified currency's smallest unit.\n","example":2000},"currency":{"type":"string","description":"The three-letter ISO 4217 currency code, in lowercase.","example":"EUR"},"direction":{"type":"string","enum":["debit","credit"],"description":"The direction of the transaction, either `debit` or `credit`.","example":"credit"},"type":{"type":"string","enum":["credit_transfer","direct_debit","instant_credit_transfer"],"description":"The type of the transaction.","example":"credit_transfer"},"account_servicer_reference":{"type":"string","description":"The account servicer reference.","example":"refbct1234"},"reference":{"type":"string","description":"The reference.","example":"Ref. payroll may 2023"},"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"},"bank_data":{"type":"object","properties":{"end_to_end_id":{"type":"string","description":"The end to end ID.","example":"E2EID-01230125941295235"},"transaction_id":{"type":"string","description":"The transaction ID.","example":"7f4abc4e33e74e3d8cdf20f5d427010b"},"instruction_id":{"type":"string","description":"The instruction ID.","example":"INSTID-01230125941295235"},"payment_information_id":{"type":"string","description":"The payment information ID.","example":"PMTINF-01230125941295235"}}},"external_account_id":{"type":"string","description":"The ID of the external account linked to the transaction.","example":"d08922ee-dce1-45dc-b9cd-c83251fb9fc5"},"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"},"holder_name":{"type":"string","description":"The name of the external account holder.","example":"Jane Doe"}}},"internal_account_id":{"type":"string","description":"The ID of the internal account linked to the transaction.","example":"d08922ee-dce1-45dc-b9cd-c83251fb9fc5"},"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"}}}}}},"simulator.v2.incoming_payments.request":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["sepa","sepa_instant","swift"],"description":"The type of payment. Only `sepa`, `sepa_instant` and `swift` are supported for now.","example":"sepa"},"direction":{"type":"string","description":"Either `credit` or `debit`. Describes the direction the money is flowing. A credit moves money from someone else's account to your account. A debit moves money from your account to someone else's account.","default":"credit","enum":["credit","debit"],"example":"credit"},"amount":{"type":"integer","description":"The absolute amount of a payment, in the specified currency's smallest units. For euro payments, the smallest unit is cents. €20 is represented as `2000`.","format":"int64","minimum":0,"example":3000},"currency":{"type":"string","description":"The three-letter ISO 4217 currency code, in lowercase.","example":"EUR"},"reference":{"type":"string","maxLength":140,"description":"The reference that will appear on the origin and destination account statements, with a maximum of 140 characters.","example":"Invoice 1234"},"requested_execution_date":{"type":"string","description":"The requested execution date of the incoming payment.","format":"date"},"fee_options":{"type":"string","enum":["originator","receiver","shared"],"description":"Network payment fee preference. Only applicable to Swift payments. Supported values include `originator` (fee paid by the originating party), `receiver` (paid by the receiving party), or `shared` (fee split between the originating and the receiving party).","example":"shared"},"purpose":{"type":"string","description":"The purpose code of the incoming payment, ensuring compliance with regulatory requirements of certain beneficiary countries. Only applicable to `swift` and `chaps` payment types.","example":"SALA"},"category_purpose_code":{"type":"string","description":"The category purpose of the incoming payment. Recommended for CHAPS payments.","example":"B2B"},"bank_data":{"type":"object","description":"Bank data, such as message and transaction IDs, in JSON format.","properties":{"message_id":{"type":"string","example":"1gXrtKMxLJ"},"transaction_id":{"type":"string","example":"1zDrzOMxCJ"},"end_to_end_id":{"type":"string","example":"c3b2d737bc"},"instruction_id":{"type":"string","example":"c3b2d737bc"}}},"originating_account":{"type":"object","description":"The account from which the payment originates.","properties":{"account_number":{"type":"string","example":"FR7601234567891127967100082","description":"The account number, for example an IBAN."},"bank_code":{"type":"string","example":"BNPAFRPPXXX","description":"The bank code. For example, a BIC or SWIFT code."},"holder_name":{"type":"string","example":"PartnerCo","description":"The name of the legal entity or individual holding the account."},"holder_address":{"type":"object","description":"The address of the account holder.","properties":{"line_1":{"type":"string","description":"Line 1.","example":""},"line_2":{"type":"string","description":"Line 2.","example":""},"building_number":{"type":"string","description":"Building number.","example":"1"},"street_name":{"type":"string","description":"Street name.","example":"rue de l'Abondance"},"postal_code":{"type":"string","description":"Postal / zip code.","example":"69003"},"region_state":{"type":"string","description":"Region or state.","example":"Ile-de-France"},"city":{"type":"string","description":"City.","example":"Lyon"},"country":{"type":"string","description":"ISO 3166 alpha-2 country code.","example":"FR"},"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":null}}},"creditor_identifier":{"type":"string","description":"The unique reference for organisations collecting payments by SEPA Direct Debit. Required only if direction is `debit`.","example":"FR12ZZZ123456"},"organization_identification":{"type":"object","description":"The organization identification of the originating account.","properties":{"legal_entity_identifier":{"type":"string","minLength":20,"maxLength":20,"description":"The legal entity identifier (LEI) of the originating account. Recommended for CHAPS payments.","example":"529900T8BM49AURSDO55"}}}}},"receiving_account":{"type":"object","description":"The receiving account of the payment.","properties":{"creditor_identifier":{"type":"string","description":"The unique reference for organisations collecting payments by SEPA Direct Debit. Required only if direction is `debit`.","example":"FR12ZZZ123456"},"account_number":{"type":"string","example":"FR7601234567891127967100082","description":"The account number, for example an IBAN."},"bank_code":{"type":"string","example":"BNPAFRPPXXX","description":"The bank code. For example, a BIC or SWIFT code."},"holder_name":{"type":"string","example":"PartnerCo","description":"The name of the legal entity or individual holding the account."},"holder_address":{"type":"object","description":"The address of the account holder.","properties":{"line_1":{"type":"string","description":"Line 1.","example":""},"line_2":{"type":"string","description":"Line 2.","example":""},"building_number":{"type":"string","description":"Building number.","example":"1"},"street_name":{"type":"string","description":"Street name.","example":"rue de l'Abondance"},"postal_code":{"type":"string","description":"Postal / zip code.","example":"69003"},"region_state":{"type":"string","description":"Region or state.","example":"Ile-de-France"},"city":{"type":"string","description":"City.","example":"Lyon"},"country":{"type":"string","description":"ISO 3166 alpha-2 country code.","example":"FR"},"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":null}}},"organization_identification":{"type":"object","description":"The organization identification of the receiving account.","properties":{"legal_entity_identifier":{"type":"string","minLength":20,"maxLength":20,"description":"The legal entity identifier (LEI) of the receiving account. Recommended for CHAPS payments.","example":"529900T8BM49AURSDO55"}}}}},"direct_debit_mandate":{"type":["object","null"],"description":"The mandate authorizing the direct debit.","required":["reference","signature_date","type"],"properties":{"reference":{"type":"string","description":"The unique code that is assigned to a mandate. The mandate reference is displayed in the destination account statements when a direct debit is debited.","maxLength":35,"example":"REF-783232"},"signature_date":{"type":"string","description":"The signature date of the mandate.","format":"date"},"type":{"type":"string","description":"The type of the mandate.","enum":["sepa_core","sepa_b2b","bacs_debit"]},"sequence":{"type":"string","description":"Deprecated, use `frequency` instead.","deprecated":true,"enum":["one_off","recurring"]},"frequency":{"type":"string","description":"The frequency of the mandate, either `one_off` or `recurring`. Mandatory when type is `sepa_core` or `sepa_b2b`.","enum":["one_off","recurring"]}}},"intermediary_agents":{"type":"array","description":"Intermediary financial institution agents via which the payment should be processed. Only applicable to `swift`, `swift_fi_to_fi`, and `chaps` payments.","maxItems":3,"items":{"type":"object","required":["financial_institution_identification"],"properties":{"financial_institution_identification":{"type":"object","description":"ISO 20022 financial institution identification of the agent.","properties":{"swift_code":{"type":"string","description":"SWIFT BIC of the agent used as the network identifier (e.g. for SWIFT gpi routing).","example":"SOMEBIC0XXX"},"bank_code":{"type":"string","description":"Domestic or scheme-specific bank code of the agent (e.g. BIC for SEPA/Target2, sort code for CHAPS).","example":"SOMEBIC0XXX"},"bank_code_format":{"type":"string","description":"Format of `bank_code` (e.g. `bic`, `other`).","example":"bic","enum":["bic","uk_sorting_code","us_aba_routing_number","tokenized","other"]},"name":{"type":"string","maxLength":140,"description":"Name of the agent's financial institution.","example":"Bank A"},"legal_entity_identifier":{"type":"string","description":"Legal entity identifier (LEI) of the agent.","example":"219200WSGIIZEPF1P999"},"postal_address":{"type":"object","description":"Postal address of the agent.","properties":{"line_1":{"type":"string","example":"1 rue de la Paix"},"line_2":{"type":"string","example":""},"building_number":{"type":"string","example":"1"},"street_name":{"type":"string","example":"rue de la Paix"},"postal_code":{"type":"string","example":"75001"},"region_state":{"type":"string","description":"Region or state.","example":""},"city":{"type":"string","example":"Paris"},"country":{"type":"string","description":"ISO 3166 alpha-2 country code.","example":"FR"}}},"other":{"type":"object","description":"Other proprietary identification of the agent.","properties":{"identification":{"type":"string","maxLength":35,"description":"Identification value.","example":"35664632"},"identification_type":{"type":"string","description":"Type of identification. Use `custom_identification_type` for values not covered by this list.","example":"bank_identification","enum":["bank_identification","central_bank_identification","clearing_house_identification","company_incorporation_number","company_identification","customer_number","duns_number","employee_number","global_location_number","siren","siret","tax_number","telephone_number","business_domain_identification","other_identification","unknown"]},"custom_identification_type":{"type":"string","maxLength":35,"description":"Proprietary identification type, used when `identification_type` does not cover the use case.","example":"custom_type"},"identification_issuer":{"type":"string","maxLength":35,"description":"Entity that issued the identification.","example":"HMRC"}}}}},"account_number":{"type":"string","description":"Account number held at the intermediary agent.","example":"GB7601234567890627967100010"},"account_number_format":{"type":"string","description":"Format of `account_number` (e.g. `iban`, `bban`).","example":"iban"}}}}}}},"simulator.v2.response":{"type":"object","required":["files"],"properties":{"files":{"type":"array","description":"The created files","items":{"type":"object","required":["file_name","created_at"],"properties":{"file_id":{"type":"string","format":"uuid","description":"The created file ID. This field will be available only in some particular case like instant incoming payments.","example":"acc2ef51-5c71-4a1e-b011-ecdbce1b9b73"},"file_name":{"type":"string","description":"The created file name.","example":"SIM.V2.SOMETHING.AAABBBCCC"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp representing the moment we ingested the file.","example":"2025-01-26T13:51:10Z"}}}}}},"connectivity_sync.details":{"type":"object","description":"Connectivity sync information for bank integrations","required":["id","object","type","connected_account_ids","status","status_details","created_at"],"properties":{"id":{"type":"string","format":"uuid","description":"The UUID of the connectivity sync.","example":"3ad331b9-12b2-48fd-ad35-203fe8b5e78e"},"object":{"type":"string","enum":["connectivity_sync"],"description":"Label used to identify this kind of object.","example":"connectivity_sync"},"type":{"type":"string","enum":["up","down","transfer_file"],"description":"The type of the connectivity sync: * `up`: Uploading data to a provider (banks mainly) * `down`: Downloading/receiving data from a provider (banks mainly) * `transfer_file`: File transfer operation\n","example":"up"},"connected_account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The list of connected account IDs associated with this connectivity sync.","example":["f1c51532-1d11-4a33-aee0-592db244c76f","b2de8b54-e81d-4fb7-bb26-536d8d671c18"]},"status":{"type":"string","enum":["success","warning","failure"],"description":"The status of the connectivity sync: * `success`: Operation completed successfully * `warning`: Operation failed but outside critical business hours (marked as critical) * `failure`: Operation failed during critical business hours\n","example":"failure"},"status_details":{"type":["string","null"],"description":"Detailed information about the status, including error messages or warnings.","example":"SFTP connection failed outside critical business hours - marked as critical"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp of the creation of this connectivity sync.","example":"2024-08-01T06:00:05Z"}}},"connectivity_sync.search_result":{"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/connectivity_sync.details"}}}},"audit_trail.details":{"type":"object","required":["id","object","author_type","author_id","author_name","type","public_name","object_type","object_id","created_at"],"properties":{"id":{"type":"string","format":"uuid","description":"The UUID of the audit trail.","example":"9007b3b2-2c77-49c3-a3be-e71eab300a68"},"object":{"type":"string","description":"Type of the object, `audit_trail`.","default":"audit_trail","example":"audit_trail"},"author_type":{"type":"string","description":"The type of the author who performed the action.","example":"dashboard"},"author_id":{"type":"string","description":"The ID of the author who performed the action.","example":"bdb650e4-92f7-5daa-93bd-02c0f1f6ad7c"},"author_name":{"type":"string","description":"The name of the author who performed the action.","example":"John Doe"},"type":{"type":"string","description":"The type of the audit trail.","example":"payment_order_created"},"public_name":{"type":"string","description":"The human-readable name of the audit trail.","example":"Payment order created"},"object_type":{"type":"string","description":"The type of object that was affected by the action.","example":"payment_order"},"object_id":{"type":"string","format":"uuid","description":"The ID of the object that was affected by the action.","example":"0750d769-3860-4ef6-9f46-57a91191a080"},"created_at":{"type":"string","format":"date-time","description":"The UTC timestamp when the audit trail was created.","example":"2025-07-08T08:50:51.974246244Z"}}},"audit_trail.search_result":{"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/audit_trail.details"}}}}}},"security":[{"sec0":[]}],"paths":{"/process_payments":{"post":{"summary":"Process payments","description":"Process payments to add payments to payment files or API requests.","operationId":"process-payments","tags":["Process Payments"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/process_payments.request"}}}},"responses":{"200":{"description":"Payment files processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/process_payments.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"description":"Internal server error."}}}},"/bulk_actions":{"post":{"summary":"Create bulk action","description":"Create a bulk action on a list of items.","operationId":"create-bulk-action","tags":["Bulk Actions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/create_bulk_action.request"}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk_action.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"description":"Internal server error."}}},"get":{"summary":"List bulk actions","description":"List and filter bulk actions.","operationId":"list-bulk-actions","tags":["Bulk Actions"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":0,"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","format":"uuid"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","description":"The creation date of the bulk action.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"The creation date of the bulk action.","schema":{"type":"string","format":"date"}},{"name":"target_object","in":"query","schema":{"type":"string","enum":["payment_order","internal_account"]},"description":"The object related to the bulk action."},{"name":"action","in":"query","schema":{"type":"string","enum":["create","approve","cancel"]},"description":"The action to execute on the items included in the bulk action. \n\nIf `target_action` is `payment_order`, can be `create`, `approve` or `cancel`. If `target_action` is `internal_account`, can be `create`.\n"},{"name":"status","in":"query","schema":{"type":"string","enum":["created","processing","executed"]}}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk_action.search_result"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"description":"Internal server error."}}}},"/bulk_actions/{id}":{"get":{"summary":"Retrieve bulk action","description":"Retrieve the details of a bulk action.","operationId":"retrieve-bulk-action","tags":["Bulk Actions"],"parameters":[{"name":"id","in":"path","description":"The ID of the bulk action.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk_action.details"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"description":"Internal server error."}}}},"/bulk_actions/{id}/items":{"get":{"summary":"Retrieve bulk action related items","operationId":"retrieve-bulk-action-items","tags":["Bulk Actions"],"parameters":[{"name":"id","in":"path","description":"The ID of the bulk action.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk_action_items.details"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"description":"Internal server error."}}}},"/message_forward/connected_accounts/{connected_account_id}/services/{bank_service}/bank_files/{file_name}":{"post":{"summary":"Forward message (deprecated)","description":"**Deprecated.** Use `POST /message_forward` instead — that endpoint\naccepts the same arguments as a JSON body (with file content as\nbase64) and additionally lets you override Swift Business Connect\nattributes (BIC, DN, service code, message type, sender reference)\nper message.\n\nThis endpoint will keep working for existing customers but will not\nreceive new features. New `swift_fin` and `swift_fileact` bank\nservices are only exposed via the new endpoint.\n\nForward a message that has been generated by your own system to\nyour partner bank, CSM, or Swift network. The message is sent as\nis by Mambu Payments (formerly Numeral).\n","operationId":"message-forward","deprecated":true,"tags":["Message forward"],"parameters":[{"name":"connected_account_id","in":"path","description":"The connected account to forward this message from.","schema":{"type":"string"},"required":true},{"name":"bank_service","in":"path","description":"The bank service to use.","required":true,"schema":{"type":"string","enum":["bacs_direct_credit","bacs_direct_debit","chaps","end_of_day_statements","fps","intra_day_statements","sct","sct_inst","sdd","swift"]}},{"name":"file_name","in":"path","description":"File name. It should be at least 3 characters and maximum 140 characters.","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/xml":{"schema":{"type":"string","xml":{"name":"Document"},"example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.002.001.10\">\n  <FIToFIPmtStsRpt>\n    <GrpHdr>\n      <MsgId>123250424260400ALME</MsgId>\n      <CreDtTm>2025-04-24T10:50:00</CreDtTm>\n    </GrpHdr>\n    <OrgnlGrpInfAndSts>\n      <OrgnlMsgId>250424260400ALME</OrgnlMsgId>\n      <OrgnlMsgNmId>pacs.004.001.09</OrgnlMsgNmId>\n      <GrpSts>ACSP</GrpSts>\n    </OrgnlGrpInfAndSts>\n  </FIToFIPmtStsRpt>\n</Document>\n"}}}},"responses":{"200":{"description":"Successfully forwarded a message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/forwarded_file.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/message_forward":{"post":{"summary":"Forward message","description":"Forward a message that has been generated by your own system to your\npartner bank, CSM, or Swift network. The message is sent as is by\nMambu Payments (formerly Numeral).\n\nReplaces `POST /message_forward/connected_accounts/...` (now\ndeprecated) with a body-based shape that additionally accepts an\noptional `swift` block for Swift Business Connect overrides.\n\nPer Swift channel, the override fields apply as follows:\n\n| Field                  | swift_fin | swift_fileact | swift (InterAct) |\n|------------------------|-----------|---------------|------------------|\n| swift.receiver_bic     | ✅        |               |                  |\n| swift.receiver_dn      |           | ✅            | ✅               |\n| swift.service          |           | ✅            | ✅               |\n| swift.message_type     | ✅        | ✅            | ✅               |\n| swift.message_reference| ✅        | ✅            | ✅               |\n","operationId":"message-forward-from-body","tags":["Message forward"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["connected_account_id","bank_service","file_name","content"],"properties":{"connected_account_id":{"type":"string","format":"uuid","description":"The connected account to forward this message from."},"bank_service":{"type":"string","description":"The bank service to use. Must be enabled on the connected account.","enum":["bacs_direct_credit","bacs_direct_debit","chaps","end_of_day_statements","fps","intra_day_statements","sct","sct_inst","sdd","swift","swift_fin","swift_fileact"]},"file_name":{"type":"string","minLength":3,"maxLength":140,"description":"File name. Between 3 and 140 characters."},"content":{"type":"string","format":"byte","description":"The file content, base64-encoded."},"swift":{"type":"object","description":"Optional Swift Business Connect overrides. Only valid when\n`bank_service` is `swift`, `swift_fin` or `swift_fileact`,\nand only the fields applicable to that channel are accepted\n(see the table above).\n","properties":{"receiver_bic":{"type":"string","description":"BIC8 or BIC11 of the receiver. Used for FIN messages.","example":"SOMEBIC0XXX"},"receiver_dn":{"type":"string","description":"Distinguished Name (DN) of the receiver in SwiftNet (InterAct/FileAct).","example":"ou=mfunds,o=swhqbebb,o=swift"},"service":{"type":"string","description":"Target Swift service code (InterAct/FileAct).","example":"swift.generic.fa!p"},"message_type":{"type":"string","description":"Swift message type/identifier (FIN/InterAct/FileAct).","example":"pacs.008.001.08"},"message_reference":{"type":"string","description":"Sender reference set on the outbound Swift message (FIN/InterAct/FileAct).","example":"ABCD12345"}}}}},"example":{"connected_account_id":"10000000-1111-0000-0000-000000000001","bank_service":"swift_fin","file_name":"my-fin-message.fin","content":"aGVsbG8gZmlu","swift":{"receiver_bic":"DEUTDEFFXXX","message_type":"fin.101","message_reference":"ABCD12345"}}}}},"responses":{"200":{"description":"Successfully forwarded a message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/forwarded_file.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/custom_fields":{"post":{"summary":"Create custom field","description":"Create a custom field to categorize your objects in Numeral.","operationId":"create-custom-field","tags":["Custom Fields"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.creation"}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"409":{"$ref":"#/components/responses/errors.409.conflict"}}},"get":{"summary":"List custom fields","description":"List and filter custom fields.","operationId":"list-custom-fields","tags":["Custom Fields"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25,"minimum":0,"maximum":100}},{"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","format":"uuid"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","description":"The creation date of the custom field.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"The creation date of the custom field.","schema":{"type":"string","format":"date"}},{"name":"key","in":"query","description":"The key of the custom field.","schema":{"type":"string"}},{"name":"object_type","in":"query","description":"The types of object the custom field can be applied to.","schema":{"type":"array","items":{"type":"string","enum":["payment_order","expected_payment","transaction","direct_debit_mandate","internal_account","external_account","connected_account"]}}},{"name":"type","in":"query","description":"The type of the custom field.","schema":{"type":"string","enum":["select","text"]}}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.search_result"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"}}}},"/custom_fields/{id}":{"post":{"summary":"Update custom field","description":"Update the name of a custom field or the name of its values.","operationId":"update-custom-field","tags":["Custom Fields"],"parameters":[{"name":"id","in":"path","description":"The ID of the custom field.","schema":{"type":"string"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.update"}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.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 custom field","description":"Retrieve the details of a custom field.","operationId":"retrieve-custom-field","tags":["Custom Fields"],"parameters":[{"name":"id","in":"path","description":"The ID of the custom field.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_field.details"}}}},"404":{"$ref":"#/components/responses/errors.404.not_found"}}}},"/payment_retry_rules":{"get":{"summary":"List payment retry rules","description":"List and filter payment retry rules.","operationId":"list-payment-retry-rules","tags":["Payment Retry Rules"],"parameters":[{"name":"retry_conditions.payment_type","in":"query","description":"The type of payments to retry.","schema":{"type":"string","enum":["sepa","sepa_instant","bacs","fps","swift","treasury"]}},{"name":"retry_conditions.payment_direction","in":"query","description":"The direction of payments to retry.","schema":{"type":"string","enum":["credit","debit"]}}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_retry_rule.search_result"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"}}}},"/payment_retry_rules/{id}":{"get":{"summary":"Retrieve payment retry rule","description":"Retrieve the details of a payment retry rule.","operationId":"retrieve-payment-retry-rule","tags":["Payment Retry Rules"],"parameters":[{"name":"id","in":"path","description":"The ID of the payment retry rule.","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_retry_rule.details"}}}},"404":{"$ref":"#/components/responses/errors.404.not_found"}}}},"/bank_code_lookup":{"post":{"summary":"Bank code lookup","description":"Retrieve the bank code of the bank holding an account from its IBAN","operationId":"bank-code-lookup","tags":["Bank Code Lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["account_number"],"properties":{"account_number":{"type":"string","description":"The IBAN used to identify the associated bank code. In sandbox, every IBAN returns `BANKXXPP` with `XX` being the first 2 letters of the IBAN, except for `FR5814508000307438479856J64` that returns a functional error.","example":"FR1112739000503237488219N55"}}}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","required":["bank_code"],"properties":{"bank_code":{"type":"string","description":"The bank code associated with the IBAN.","example":"BANKFRPP"},"routing_bank_code":{"type":"string","description":"The routing bank code associated with the IBAN.","example":"BANKFRPP"},"bank_name":{"type":"string","description":"The bank name associated with the IBAN."}}}}}},"400":{"$ref":"#/components/responses/errors.400.validation"}}}},"/simulator/connected_accounts/{connected_account_id}/services/{bank_service}/bank_files/{file_name}":{"post":{"summary":"Simulate message received","description":"Simulate a message received from a partner bank or CSM. Learn how to use the [bank simulator](ref:bank-simulator).","operationId":"simulate-message-received","tags":["Bank Simulator"],"parameters":[{"name":"connected_account_id","in":"path","description":"The ID of the connected account that should receive the message.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"bank_service","in":"path","description":"The bank service associated to the message content that should be used when parsing it. The bank_service param depends on your sandbox configuration. If needed, Numeral support team (support@numeral.io) can provide further support.","required":true,"schema":{"type":"string","enum":["bacs_direct_credit","bacs_direct_debit","chaps","end_of_day_statements","fps","intra_day_statements","sct","sct_inst","sdd","swift"]}},{"name":"file_name","in":"path","description":"The name the file should display once received and processed.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/xml":{"schema":{"type":"string","example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.002.001.10\">\n  <FIToFIPmtStsRpt>\n    <GrpHdr>\n      <MsgId>123250424260400ALME</MsgId>\n      <CreDtTm>2025-04-24T10:50:00</CreDtTm>\n    </GrpHdr>\n    <OrgnlGrpInfAndSts>\n      <OrgnlMsgId>250424260400ALME</OrgnlMsgId>\n      <OrgnlMsgNmId>pacs.004.001.09</OrgnlMsgNmId>\n      <GrpSts>ACSP</GrpSts>\n    </OrgnlGrpInfAndSts>\n  </FIToFIPmtStsRpt>\n</Document>\n"}},"text/plain":{"schema":{"type":"string","example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.002.001.10\">\n  <FIToFIPmtStsRpt>\n    <GrpHdr>\n      <MsgId>123250424260400ALME</MsgId>\n      <CreDtTm>2025-04-24T10:50:00</CreDtTm>\n    </GrpHdr>\n    <OrgnlGrpInfAndSts>\n      <OrgnlMsgId>250424260400ALME</OrgnlMsgId>\n      <OrgnlMsgNmId>pacs.004.001.09</OrgnlMsgNmId>\n      <GrpSts>ACSP</GrpSts>\n    </OrgnlGrpInfAndSts>\n  </FIToFIPmtStsRpt>\n</Document>\n"}}}},"responses":{"200":{"description":"Message was successfully processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator_upload.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/simulator/{connected_account_id}/payment_status_reports":{"post":{"summary":"Update payment status","description":"Update the status of a payment to test your integration. Used to switch payment orders, returns, and instant incoming payments to their final status. This endpoint can only be used in the sandbox environment.","operationId":"update-payment-status","tags":["Bank Simulator"],"parameters":[{"name":"connected_account_id","in":"path","description":"The connected account ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.psr.request"}}}},"responses":{"200":{"description":"Payment status was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/simulator/{connected_account_id}/balances":{"post":{"summary":"Create balance","description":"Create a balance to test your integration. This endpoint can only be used in the sandbox environment.","operationId":"create-balance","tags":["Bank Simulator"],"parameters":[{"name":"connected_account_id","in":"path","description":"The connected account ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.balances.request"}}}},"responses":{"200":{"description":"Balance was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/simulator/{connected_account_id}/transactions":{"post":{"summary":"Create transaction","description":"Create a transaction to test your integration. This endpoint can only be used in the sandbox environment.","operationId":"create-transaction","tags":["Bank Simulator"],"parameters":[{"name":"connected_account_id","in":"path","description":"The connected account ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.transactions.request"}}}},"responses":{"200":{"description":"Transaction was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/simulator/{connected_account_id}/incoming_payments":{"post":{"summary":"Create incoming payment","description":"Create an incoming payment to test your integration. This endpoint can only be used in the sandbox environment.","operationId":"create-incoming-payment","tags":["Bank Simulator"],"parameters":[{"name":"connected_account_id","in":"path","description":"The connected account ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.incoming_payments.request"}}}},"responses":{"200":{"description":"Incoming payment was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/simulator.v2.response"}}}},"400":{"description":"Bad request. Validation error or missing required fields."},"401":{"description":"Unauthorized. API key is missing or invalid."},"403":{"description":"Forbidden. Feature is not enabled for this API key."}}}},"/health":{"get":{"summary":"Check platform health","description":"Check the health of the platform. If the health endpoint cannot be reached, it means that the platform is not in a healthy state.","operationId":"check-health-check","tags":["Platform Health Check"],"responses":{"200":{"description":"The platform is in a healthy state.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"OK"}}}}}},"500":{"description":"Internal server error."}}}},"/connectivity_syncs":{"get":{"summary":"List connectivity syncs","description":"List and filter connectivity syncs.","operationId":"list-connectivity-syncs","tags":["Connectivity Syncs"],"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","format":"uuid"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","description":"The creation date of the connectivity sync.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"The creation date of the connectivity sync.","schema":{"type":"string","format":"date"}},{"name":"type","in":"query","description":"The type of the connectivity sync.","schema":{"type":"string","enum":["up","down","transfer_file"]}},{"name":"status","in":"query","description":"The status of the connectivity sync.","schema":{"type":"string","enum":["success","warning","failure"]}},{"name":"connected_account_id","in":"query","description":"The ID of the connected account used to connect to the partner bank, CSM, or connectivity provider.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"List of filtered connectivity syncs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connectivity_sync.search_result"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}}},"/connectivity_syncs/{id}":{"get":{"summary":"Retrieve connectivity sync","description":"Retrieve the details of a connectivity sync.","operationId":"retrieve-connectivity-sync","tags":["Connectivity Syncs"],"parameters":[{"name":"id","in":"path","description":"The ID of the connectivity sync.","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"Successfully retrieved connectivity sync.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/connectivity_sync.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"}}}},"/audit_trails":{"get":{"summary":"List audit trails","description":"List and filter audit trail events.","operationId":"list-audit-trails","tags":["Audit Trails"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":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","format":"uuid","example":"9007b3b2-2c77-49c3-a3be-e71eab300a68"}},{"$ref":"#/components/parameters/list.common_parameters.sort_order"},{"name":"start_date","in":"query","description":"The creation date of the audit trail.","schema":{"type":"string","format":"date","example":"2025-07-08"}},{"name":"end_date","in":"query","description":"The creation date of the audit trail.","schema":{"type":"string","format":"date","example":"2025-07-08"}},{"name":"object_id","in":"query","description":"The ID of the object that was affected by the action.","schema":{"type":"string","format":"uuid","example":"0750d769-3860-4ef6-9f46-57a91191a080"}}],"responses":{"200":{"description":"List of filtered audit trails.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/audit_trail.search_result"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"401":{"description":"Unauthorized. API key is missing or invalid."},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}}},"/audit_trails/{id}":{"get":{"summary":"Retrieve audit trail","description":"Retrieve the details of a specific audit trail.","operationId":"retrieve-audit-trail","tags":["Audit Trails"],"parameters":[{"name":"id","in":"path","description":"The ID of the audit trail.","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"Successfully retrieved audit trail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/audit_trail.details"}}}},"400":{"$ref":"#/components/responses/errors.400.validation"},"401":{"description":"Unauthorized. API key is missing or invalid."},"404":{"$ref":"#/components/responses/errors.404.not_found"},"500":{"$ref":"#/components/responses/errors.500.internal_server_error"}}}}}}