---
updatedAt: 2025-09-11T08:28:33.000Z
agentTools:
  projectIndex: https://docs.neonomics.io/llms.txt
---

# /ics/v3/payments/batch-transfer

Initiates a batch payment with multiple creditors. Each payment in the batch shares the same debtor account.
This endpoint supports both domestic and scheduled domestic payments:
- For domestic payments: omit the requestedExecutionDate field in creditor entries
- For scheduled domestic payments: include the requestedExecutionDate field in creditor entries

The debtorAccount can be either 'iban', 'bban', or 'sortCodeAccountNumber'. 
The creditorAccount in each creditor entry can be either 'iban', 'bban', 'sortCodeAccountNumber' (UK), 'BGNR', or 'PGNR'.

Each creditor can optionally include a referenceId - a user-generated reference ID to keep track of payments
for pairing payment IDs with reference IDs once they receive the response from this API.

To enable a custom redirect, include the x-redirect-url parameter in the request header. The callback will then include a resource_id (the batch-id) and a result
(the request's status, either 'OK' or 'FAILED'). This API will return a 1426 error if consent is required and a 1428 'payment authorization required' if the payment requires SCA.
If you get error code '1428' then you have to call API '/ics/v3/payments/batch-transfer/{batchId}/authorize' to get authorization URL. Once you receive the URL, you can use it to get
authorized with the respective bank. This single authorization will cover all payments in the batch.

NOTE: The max limit for creditors in a batch payment is 20.


# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to Open API",
    "description": "Discover APIs that enable you to create great user experiences and start integrating with our Payments and Accounts APIs.\nTo start with our APIs first create a Neonomics application on the [developer portal](https://developer.neonomics.io/login) to get a Neonomics application Client ID and Secret ID. Links for developer portal are mentioned below.\nAuthenticate with the Neonomics API, to obtain an access_token so Neonomics can allow you to make requests to the Neonomics API. Use Authorization API to Get\naccess token which will be used in all APIs.\n\nReference Links :\n\n[Neonomics API Documentation](https://docs.neonomics.io/documentation/development/quickstart)\n\n[Sandbox Developer Portal](https://developer.neonomics.io/login)\n\n[Production Developer Portal](https://portal.neonomics.io)\n",
    "version": "3.0"
  },
  "servers": [
    {
      "url": "https://sandbox.neonomics.io",
      "description": "Test env which connects banks Sandbox env"
    },
    {
      "url": "https://api.neonomics.io",
      "description": "Production env which connects live banks"
    }
  ],
  "paths": {
    "/ics/v3/payments/batch-transfer": {
      "post": {
        "tags": [
          "Payment"
        ],
        "operationId": "initiateBatchPayment",
        "description": "Initiates a batch payment with multiple creditors. Each payment in the batch shares the same debtor account.\nThis endpoint supports both domestic and scheduled domestic payments:\n- For domestic payments: omit the requestedExecutionDate field in creditor entries\n- For scheduled domestic payments: include the requestedExecutionDate field in creditor entries\n\nThe debtorAccount can be either 'iban', 'bban', or 'sortCodeAccountNumber'. \nThe creditorAccount in each creditor entry can be either 'iban', 'bban', 'sortCodeAccountNumber' (UK), 'BGNR', or 'PGNR'.\n\nEach creditor can optionally include a referenceId - a user-generated reference ID to keep track of payments\nfor pairing payment IDs with reference IDs once they receive the response from this API.\n\nTo enable a custom redirect, include the x-redirect-url parameter in the request header. The callback will then include a resource_id (the batch-id) and a result\n(the request's status, either 'OK' or 'FAILED'). This API will return a 1426 error if consent is required and a 1428 'payment authorization required' if the payment requires SCA.\nIf you get error code '1428' then you have to call API '/ics/v3/payments/batch-transfer/{batchId}/authorize' to get authorization URL. Once you receive the URL, you can use it to get\nauthorized with the respective bank. This single authorization will cover all payments in the batch.\n\nNOTE: The max limit for creditors in a batch payment is 20.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/Authorization"
          },
          {
            "$ref": "#/components/parameters/x-session-id"
          },
          {
            "$ref": "#/components/parameters/x-device-id"
          },
          {
            "$ref": "#/components/parameters/x-redirect-url"
          },
          {
            "$ref": "#/components/parameters/x-psu-ip-address"
          },
          {
            "$ref": "#/components/parameters/x-psu-id"
          },
          {
            "$ref": "#/components/parameters/x-psu-corporate-id"
          },
          {
            "$ref": "#/components/parameters/x-originating-host"
          },
          {
            "$ref": "#/components/parameters/x-originating-date"
          },
          {
            "$ref": "#/components/parameters/Signature"
          },
          {
            "$ref": "#/components/parameters/Content-Type"
          },
          {
            "$ref": "#/components/parameters/Digest"
          },
          {
            "$ref": "#/components/parameters/customer-type"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchPaymentsRequest"
              },
              "examples": {
                "mixedBatchPayment": {
                  "summary": "Batch with domestic and domestic scheduled payments",
                  "description": "Example showing a batch with both domestic payment and domestic scheduled payment",
                  "value": {
                    "debtorName": "John Doe",
                    "debtorAccount": {
                      "accountScheme": "IBAN",
                      "identifier": "NO1234567890123"
                    },
                    "currency": "NOK",
                    "endToEndIdentification": "BATCH_001",
                    "creditors": [
                      {
                        "creditorName": "Supplier A",
                        "referenceId": "REF001",
                        "creditorAccount": {
                          "accountScheme": "IBAN",
                          "identifier": "NO9876543210987"
                        },
                        "instrumentedAmount": "1500.00",
                        "remittanceInformationUnstructured": "Invoice 001",
                        "paymentMetadata": {}
                      },
                      {
                        "creditorName": "Supplier B",
                        "referenceId": "REF002",
                        "creditorAccount": {
                          "accountScheme": "BBAN",
                          "identifier": "12073650567"
                        },
                        "instrumentedAmount": "2500.00",
                        "remittanceInformationUnstructured": "Invoice 002",
                        "requestedExecutionDate": "2025-12-25",
                        "paymentMetadata": {}
                      }
                    ]
                  }
                },
                "domesticNotScheduledOnly": {
                  "summary": "Batch with only domestic payments",
                  "description": "Example showing a batch with multiple domestic payments",
                  "value": {
                    "debtorName": "Company ABC",
                    "debtorAccount": {
                      "accountScheme": "BBAN",
                      "identifier": "12036212533"
                    },
                    "currency": "NOK",
                    "endToEndIdentification": "PAYROLL_001",
                    "creditors": [
                      {
                        "creditorName": "Employee 1",
                        "referenceId": "EMP001",
                        "creditorAccount": {
                          "accountScheme": "IBAN",
                          "identifier": "NO4412032202452"
                        },
                        "instrumentedAmount": "25000.00",
                        "remittanceInformationUnstructured": "Salary January",
                        "paymentMetadata": {}
                      },
                      {
                        "creditorName": "Employee 2",
                        "referenceId": "EMP002",
                        "creditorAccount": {
                          "accountScheme": "IBAN",
                          "identifier": "NO0212097256355"
                        },
                        "instrumentedAmount": "30000.00",
                        "remittanceInformationUnstructured": "Salary January",
                        "paymentMetadata": {}
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchPaymentStatus"
                },
                "examples": {
                  "batchCreated": {
                    "summary": "Successful batch payment creation",
                    "description": "Batch payment accepted and processed immediately",
                    "value": {
                      "batchId": "e4e5d367-539d-4e96-9569-cfd0a2c1df2b",
                      "payments": [
                        {
                          "paymentId": "3768f547-af00-4ccf-adab-17214046c7be",
                          "status": "ACCP",
                          "creationDateTime": "2025-01-15T10:30:00Z"
                        },
                        {
                          "paymentId": "3f07c82b-05d7-49d2-a17d-fce263b6bfe0",
                          "status": "ACCP",
                          "creationDateTime": "2025-01-15T10:30:00Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "510": {
            "description": "Client Error - Consent, Authorization Required, or General Client Error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/BatchPaymentConsentError"
                    },
                    {
                      "$ref": "#/components/schemas/BatchPaymentAuthError"
                    },
                    {
                      "$ref": "#/components/schemas/ApiException"
                    }
                  ]
                },
                "examples": {
                  "consentRequired": {
                    "summary": "Consent required (1426)",
                    "description": "End-user consent is required before batch payment can be initiated",
                    "value": {
                      "id": "f807a7f3de2cb6b9ae58594e27c4f330",
                      "errorCode": "1426",
                      "message": "This resource needs to initialize consent. Please use the URL provided to continue.",
                      "source": "C",
                      "type": "CONSENT",
                      "timestamp": 1757502239430,
                      "links": [
                        {
                          "type": "GET",
                          "rel": "consent",
                          "href": "https://development-api.neonomics.io/ics/v3/consent/a3bf620f-33b6-43d7-8914-bee85e8cc18b?scope=payments",
                          "meta": {
                            "id": "a3bf620f-33b6-43d7-8914-bee85e8cc18b"
                          }
                        }
                      ]
                    }
                  },
                  "authorizationRequired": {
                    "summary": "Authorization required (1428)",
                    "description": "Strong Customer Authentication is required for this batch payment",
                    "value": {
                      "id": "f2af98f8bf608846c79a5be32e95bcc3",
                      "errorCode": "1428",
                      "message": "This payment requires Strong Customer Authentication (SCA). Please use the authorization URL provided to continue.",
                      "source": "C",
                      "type": "CONSENT",
                      "timestamp": 1756917584443,
                      "links": [
                        {
                          "type": "GET",
                          "rel": "payment",
                          "href": "https://api.neonomics.io/ics/v3/payments/batch-transfer/e4e5d367-539d-4e96-9569-cfd0a2c1df2b/authorize",
                          "meta": {
                            "id": "e4e5d367-539d-4e96-9569-cfd0a2c1df2b",
                            "batchPayments": [
                              {
                                "paymentId": "3768f547-af00-4ccf-adab-17214046c7be",
                                "referenceId": "REF001"
                              },
                              {
                                "paymentId": "3f07c82b-05d7-49d2-a17d-fce263b6bfe0",
                                "referenceId": "REF002"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "generalClientError": {
                    "summary": "General client error",
                    "description": "Other client errors (validation failures, invalid parameters, etc.)",
                    "value": {
                      "id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
                      "errorCode": "1001",
                      "message": "Invalid request format. Please check your request parameters.",
                      "source": "C",
                      "type": "BAD_REQUEST",
                      "timestamp": "2025-01-15T10:30:00Z",
                      "links": [
                        {
                          "type": "GET",
                          "rel": "documentation",
                          "href": "https://docs.neonomics.io/docs/error-codes",
                          "meta": {
                            "sessionId": "session-12345"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "520": {
            "$ref": "#/components/responses/520"
          },
          "530": {
            "$ref": "#/components/responses/530"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "parameters": {
      "x-device-id": {
        "name": "x-device-id",
        "required": true,
        "in": "header",
        "description": "String that uniquely identifies a single end-user or device.",
        "schema": {
          "type": "string"
        }
      },
      "Authorization": {
        "name": "Authorization",
        "in": "header",
        "required": false,
        "description": "Authentication scheme used to transmit the access token. Valid value is \"Bearer {access token}\".",
        "schema": {
          "type": "string"
        }
      },
      "x-originating-host": {
        "name": "x-originating-host",
        "in": "header",
        "required": false,
        "description": "The host where the request is originating from.\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "x-originating-date": {
        "name": "x-originating-date",
        "in": "header",
        "required": false,
        "description": "The request originating date.\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "Signature": {
        "name": "Signature",
        "in": "header",
        "required": false,
        "description": "The signature header consisting of the signature string\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "Content-Type": {
        "name": "Content-Type",
        "in": "header",
        "required": false,
        "description": "If you are using end to end encryption from our developer portal then this header is mandatory for all post/put/patch requests.\n",
        "schema": {
          "type": "string",
          "default": "application/json"
        }
      },
      "Digest": {
        "name": "Digest",
        "in": "header",
        "required": false,
        "description": "A Base64-encoded hash of the request body If you are using end to end encryption from our developer portal then this header is mandatory for all post/put/patch requests.",
        "schema": {
          "type": "string"
        }
      },
      "x-session-id": {
        "name": "x-session-id",
        "in": "header",
        "required": true,
        "description": "The session Id returned in the response body when this session was created.",
        "schema": {
          "type": "string"
        }
      },
      "x-redirect-url": {
        "name": "x-redirect-url",
        "in": "header",
        "required": false,
        "description": "URL where the end-user gets redirected after a consent or payment authorization.\nThe URL must be registered in the Developer Portal under the relevant application.\n",
        "schema": {
          "type": "string",
          "default": ""
        }
      },
      "x-psu-ip-address": {
        "name": "x-psu-ip-address",
        "in": "header",
        "required": true,
        "description": "The IP Address of the end-user (PSU), which must be provided if the PSU actively requests information.\nIf this value is not provided, then the call will count towards the number of TPP calls without PSU interaction.\nLeave it empty if the end user is not actively requesting account information, such as during automatic background updates.\nProvided in either IPv4 or IPv6 format.\n",
        "schema": {
          "type": "string"
        }
      },
      "x-psu-id": {
        "name": "x-psu-id",
        "in": "header",
        "required": false,
        "description": "Identifier of the end-user, passed as the base64-encoded value of an encrypted string following\nthe guidelines given in Documentation > Development > Sensitive end-user data.\nThis parameter is required if the value of 'personalIdentificationRequired' returned from the /banks endpoint is \"true\".\n",
        "schema": {
          "type": "string"
        }
      },
      "x-psu-corporate-id": {
        "name": "x-psu-corporate-id",
        "in": "header",
        "required": false,
        "description": "Corporate identifier of the end-user's organisation, used for business/corporate consents (the `business-accounts` scope).\n\n**Currently effective for Länsförsäkringar and Sparebanken Vest (Folio, bank `folio.noSPAVNOBB`).**\n\n- **Länsförsäkringar**: required in addition to `x-psu-id`, and both are distinct. `x-psu-id` carries the\n  signing person's personnummer (SSN), type `SSSN`; `x-psu-corporate-id` carries the organisationsnummer\n  (org number), type `SON`. Confirmed with the bank: both values must be **exactly 12 numeric digits** — a\n  continuous digit string with no hyphens, spaces, letters, or special characters (e.g. `12345678-0987` is\n  not valid). Fewer or more than 12 digits fails validation.\n- **Sparebanken Vest / Folio**: required on both consent initiation and every subsequent account/transaction\n  read, not only at consent time. Carries the 9-digit Norwegian organisation number. `x-psu-id` is optional\n  here and, if sent, must be the authorising person's national identifier — never the organisation number.\n\nFor all other banks this header is **currently ignored**, even those whose corporate flows rely on a corporate\nidentifier (e.g. DNB) — those flows continue to work via `x-psu-id` as today. Do not rely on this header for any\nbank other than the ones listed above; support for additional banks may be added later.\n\nIgnored for personal-scope consents.\n",
        "schema": {
          "type": "string"
        }
      },
      "customer-type": {
        "name": "customer-type",
        "in": "query",
        "required": false,
        "description": "Specifies the category of bank accounts to target for the request.\n\nAccepted values:\n- `PERSONAL` – retail / personal accounts. **Default** when the parameter is omitted.\n- `BUSINESS` – small-business accounts.\n- `CORPORATE` – corporate / large-enterprise accounts.\n\n**Payment endpoints**: optional; defaults to `PERSONAL` when not supplied.\n\n> **Note:** Not all banks support every customer type. Available types are determined by\n> what each bank exposes through its PSD2 API.\n",
        "schema": {
          "type": "string",
          "enum": [
            "PERSONAL",
            "BUSINESS",
            "CORPORATE"
          ],
          "default": "PERSONAL"
        }
      }
    },
    "schemas": {
      "PaymentStatus": {
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string",
            "description": "Unique identifier for the payment."
          },
          "status": {
            "type": "string",
            "description": "Payment status according to ISO 20022 messaging standard. Status code examples are given in Documentation > Development > ISO Codes.\nNote that ACFC (AcceptedFundsChecked) is reported by some banks (e.g. Finnish Samlink banks) and can remain the last reported bank status even after the payment has settled.\n",
            "enum": [
              "RCVD",
              "ACCP",
              "ACSP",
              "ACSC",
              "ACFC",
              "NAUT",
              "RJCT",
              "PDNG",
              "CANC"
            ]
          },
          "creationDateTime": {
            "type": "string",
            "description": "Timestamp for payment creation following ISO 8601.",
            "format": "date-time"
          }
        }
      },
      "BatchPaymentStatus": {
        "type": "object",
        "properties": {
          "batchId": {
            "type": "string",
            "description": "Unique identifier for the batch payment."
          },
          "payments": {
            "type": "array",
            "description": "Array of individual payment statuses within the batch.",
            "items": {
              "$ref": "#/components/schemas/PaymentStatus"
            }
          }
        }
      },
      "BatchPaymentConsentError": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the error."
          },
          "errorCode": {
            "type": "string",
            "enum": [
              "1426"
            ],
            "description": "Error code indicating consent is required."
          },
          "message": {
            "type": "string",
            "description": "Error message explaining consent requirement."
          },
          "source": {
            "type": "string",
            "description": "Source of the error."
          },
          "type": {
            "type": "string",
            "enum": [
              "CONSENT"
            ],
            "description": "Type of error."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "description": "Timestamp of the error."
          },
          "links": {
            "type": "array",
            "description": "Array containing consent link.",
            "items": {
              "$ref": "#/components/schemas/ConsentLink"
            }
          }
        }
      },
      "BatchPaymentAuthError": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the error."
          },
          "errorCode": {
            "type": "string",
            "enum": [
              "1428"
            ],
            "description": "Error code indicating authorization is required."
          },
          "message": {
            "type": "string",
            "description": "Error message explaining authorization requirement."
          },
          "source": {
            "type": "string",
            "description": "Source of the error."
          },
          "type": {
            "type": "string",
            "enum": [
              "CONSENT"
            ],
            "description": "Type of error."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "description": "Timestamp of the error."
          },
          "links": {
            "type": "array",
            "description": "Array containing authorization link with batch payment mapping.",
            "items": {
              "$ref": "#/components/schemas/BatchAuthLink"
            }
          }
        }
      },
      "ConsentLink": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "GET"
            ],
            "description": "HTTP method for the link."
          },
          "rel": {
            "type": "string",
            "enum": [
              "consent"
            ],
            "description": "Relationship of the link."
          },
          "href": {
            "type": "string",
            "format": "uri",
            "description": "URL for the consent endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Session ID for consent."
              }
            }
          }
        }
      },
      "BatchAuthLink": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "GET"
            ],
            "description": "HTTP method for the link."
          },
          "rel": {
            "type": "string",
            "enum": [
              "payment"
            ],
            "description": "Relationship of the link."
          },
          "href": {
            "type": "string",
            "format": "uri",
            "description": "URL for the batch payment authorization endpoint."
          },
          "meta": {
            "$ref": "#/components/schemas/BatchPaymentMetaData"
          }
        }
      },
      "BatchPaymentItemResponse": {
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string",
            "description": "Unique identifier for the individual payment within the batch."
          },
          "referenceId": {
            "type": "string",
            "description": "User-provided reference ID for tracking this specific payment."
          }
        }
      },
      "CreditorAddress": {
        "type": "object",
        "properties": {
          "streetName": {
            "type": "string",
            "description": "Name of a street or thoroughfare."
          },
          "buildingNumber": {
            "type": "string",
            "description": "Number of the building."
          },
          "postalCode": {
            "type": "string",
            "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail."
          },
          "city": {
            "type": "string",
            "description": "The name of the city."
          },
          "country": {
            "type": "string",
            "description": "The name of the country. If not supplied, the country will be derived from the IBAN if it's a SEPA payment."
          }
        }
      },
      "CreditorAgent": {
        "type": "object",
        "description": "Financial institution servicing an account for the creditor, identified with the institution's BIC code.",
        "properties": {
          "identification": {
            "type": "string",
            "description": "Unique and unambiguous identification of the financial institution servicing an account for the creditor (The BIC associated to the account)."
          },
          "identificationType": {
            "type": "string",
            "description": "Name of the identification scheme."
          }
        }
      },
      "PaymentMetadata": {
        "type": "object",
        "properties": {
          "creditorAddress": {
            "$ref": "#/components/schemas/CreditorAddress"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/CreditorAgent"
          },
          "paymentContextCode": {
            "type": "string",
            "description": "Messaging standard external code following ISO 20022. Code examples are given in Documentation > Development > ISO Codes.",
            "enum": [
              "OTHR",
              "MP2P",
              "IVPT",
              "GDDS",
              "SCVE"
            ]
          },
          "merchantCategoryCode": {
            "type": "string",
            "description": "Code that classifies a business by the types of goods or services it provides, following ISO 18245."
          },
          "merchantCustomerIdentification": {
            "type": "string",
            "description": "The merchant's unique customer identifier for the end-user (PSU)."
          },
          "countryMetadata": {
            "$ref": "#/components/schemas/CountryMetadata"
          }
        }
      },
      "CountryMetadata": {
        "type": "object",
        "description": "Container for country-specific payment metadata, keyed by ISO 3166 alpha-2 country code. Currently only Denmark ('DK')\nis supported.\n",
        "properties": {
          "DK": {
            "$ref": "#/components/schemas/DanishPaymentMetadata"
          }
        }
      },
      "DanishPaymentMetadata": {
        "type": "object",
        "description": "Denmark-specific payment metadata.",
        "properties": {
          "paymentSlipType": {
            "type": "string",
            "description": "The payment slip (indbetalingskort) type, i.e. the \"kortart\" code printed on the slip. Setting this field on a\ndomestic-transfer request routes the payment to a Danish GIRO/FIK payment slip instead of a normal domestic\ntransfer (currently only supported for Lunar). GIRO codes: \"01\", \"04\", \"15\". FI/FIK codes: \"71\", \"73\", \"75\".\nWhen used, creditorAccount.bban must be the slip's creditor number (max 8 characters) rather than a regular DK\nBBAN, and debtorAccount.bban is required.\n",
            "enum": [
              "01",
              "04",
              "15",
              "71",
              "73",
              "75"
            ]
          }
        }
      },
      "RemittanceInformationStructured": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Identifier from the creditor for payment identification. Since each country uses a national identifier scheme,\nthe number of characters allowed varies by country; Sweden: 5-25, Norway: max 25, Finland: max 20, Denmark: always 15.\n"
          },
          "referenceType": {
            "type": "string",
            "description": "Type of remittance reference. Examples: \"KID\" in Norway, \"OCR\" in Sweden, \"SCOR\", \"RF\" or \"INVOICE\" in Finland. This field is optional\n"
          },
          "referenceIssuer": {
            "description": "Name of the organization that issued the remittance reference.",
            "type": "string"
          }
        }
      },
      "AccountSchemeInfo": {
        "type": "object",
        "properties": {
          "accountScheme": {
            "type": "string",
            "enum": [
              "IBAN",
              "BBAN",
              "SORT_CODE_ACCOUNT_NUMBER",
              "PGNR",
              "BGNR"
            ]
          },
          "identifier": {
            "type": "string"
          }
        }
      },
      "BatchPaymentMetaData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the batch payment (batchId for batch payments)."
          },
          "batchPayments": {
            "type": "array",
            "description": "Array of batch payment responses that map paymentId to referenceId. This array is only present \nfor batch payment operations and allows clients to correlate their reference IDs with the generated payment IDs.\n",
            "items": {
              "$ref": "#/components/schemas/BatchPaymentItemResponse"
            }
          }
        }
      },
      "currency": {
        "type": "string",
        "description": "3 letter currency code for the account following ISO 4217.",
        "enum": [
          "NOK",
          "EUR",
          "SEK",
          "DKK"
        ]
      },
      "ApiException": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for an error, used for debugging purposes. In connection with error reporting to Neonomics, it is called correlation ID.\n"
          },
          "errorCode": {
            "type": "string",
            "description": "Error code that identifies the error scenario. Description of error codes is available at Documentation > Development > Error Codes."
          },
          "message": {
            "type": "string",
            "description": "Text description of an error."
          },
          "source": {
            "type": "string",
            "description": "Identifies the source of an error. \"example\": \"C\" indicates a client error.\n"
          },
          "type": {
            "type": "string",
            "description": "Categorization of an error as either 'FATAL', 'NETWORK', 'BAD_REQUEST', 'AUTH' or 'CONSENT'.\nThe error types are described in Documentation > Development > Error Codes.\n"
          },
          "timestamp": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "description": "Array of link objects related to the error. The meta object contains the sessionId.",
            "items": {
              "$ref": "#/components/schemas/links"
            }
          }
        }
      },
      "links": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "HTTP Method type of the link."
          },
          "rel": {
            "type": "string",
            "description": "API Operation related to the link."
          },
          "href": {
            "type": "string",
            "description": "Use this URL to call the consent endpoint, which will return the bank's authentication URL."
          },
          "meta": {
            "type": "object",
            "description": "This object contains an id which is the current sessionId."
          }
        }
      },
      "BatchCreditor": {
        "type": "object",
        "description": "Individual creditor details within a batch payment. Each creditor can be either domestic \nor domestic scheduled based on the presence of the requestedExecutionDate field.\n",
        "required": [
          "creditorName",
          "creditorAccount",
          "instrumentedAmount"
        ],
        "properties": {
          "creditorName": {
            "type": "string",
            "description": "Creditor's name (the payee)."
          },
          "referenceId": {
            "type": "string",
            "description": "Optional user-generated reference ID to keep track of payments. This allows pairing payment IDs \nwith reference IDs once the response is received from the API.\n"
          },
          "creditorAccount": {
            "description": "Creditor account info, which consists of the account scheme (account type) and the account identifier (account number).\nThe account scheme can be either 'iban', 'bban', 'sortCodeAccountNumber' (UK), 'BGNR', or 'PGNR'.\n",
            "$ref": "#/components/schemas/AccountSchemeInfo"
          },
          "instrumentedAmount": {
            "type": "string",
            "description": "Monetary amount to be transferred. Currency precision ranges from zero to two decimal places,\nseparated by a dot as defined in the ISO 4217 and ISO 20022 standards.\n"
          },
          "remittanceInformationUnstructured": {
            "type": "string",
            "description": "Remittance information about the payment, such as notes about the transaction.\nThe maximum character limit is 140 (exceptions vary by bank and country). \nNote that either remittanceInformationUnstructured or remittanceInformationStructured must be included for each creditor entry.\n"
          },
          "remittanceInformationStructured": {
            "description": "Unique identification for the payment, issued by the creditor in accordance with a national standard (e.g., 'KID' in Norway, 'OCR' in Sweden).\nNote that either remittanceInformationUnstructured or remittanceInformationStructured must be included for each creditor entry.\n",
            "$ref": "#/components/schemas/RemittanceInformationStructured"
          },
          "requestedExecutionDate": {
            "type": "string",
            "description": "Optional field. The date that the payment is requested to be executed. It must be a future date following the ISO 8601 format (yyyy-mm-dd).\nIf this field is provided, the payment will be processed as a scheduled payment.\n"
          },
          "paymentMetadata": {
            "$ref": "#/components/schemas/PaymentMetadata"
          }
        }
      },
      "BatchPaymentsRequest": {
        "type": "object",
        "required": [
          "debtorAccount",
          "debtorName",
          "currency",
          "creditors"
        ],
        "properties": {
          "debtorAccount": {
            "description": "Debtor account info, which consists of the account scheme (account type) and the account identifier (account number).\nThe account scheme can be either 'iban', 'bban', or 'sortCodeAccountNumber' (UK).\n",
            "$ref": "#/components/schemas/AccountSchemeInfo"
          },
          "debtorName": {
            "type": "string",
            "description": "Debtor's name (the payer)."
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "endToEndIdentification": {
            "type": "string",
            "description": "Unique reference/id assigned by the initiating party to identify the transaction for their own usage.\nThis identification is passed on, unchanged, throughout the whole payment flow.\nMax character length is 35 as defined by iso 20022.\n"
          },
          "creditors": {
            "type": "array",
            "description": "Array containing details of each recipient in the batch payment.",
            "maxItems": 20,
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/BatchCreditor"
            }
          }
        }
      }
    },
    "responses": {
      "520": {
        "description": "Indicates a problem within the Neonomics platform. This error is not caused by your request. See [Neonomics Error Codes](https://docs.neonomics.io/docs/error-codes#neonomics-errors-30003999) for troubleshooting steps.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiException"
            }
          }
        }
      },
      "530": {
        "description": "Returned when the bank encounters an error processing your request. Review the [Bank Error Codes](https://docs.neonomics.io/docs/error-codes#bank-errors-40005999) for more information and possible solutions.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiException"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ]
}
```