---
title: "Create credit transfer batch"
method: POST
path: "/payments/v2beta/credit-transfer-batches"
tags: ["Credit Transfers"]
---

# Create credit transfer batch

`POST /payments/v2beta/credit-transfer-batches`

Create a batch of credit transfer payments.

See https://docs.atlar.com/docs/batch-payments for more information.

## Request body

- CreateCreditTransferBatchRequest
  - `treatment` 'INDIVIDUAL_PAYMENTS' | 'BATCH', required — Deprecated: You can approve or reject on batch and individual level regardless of the treatment type.
  - `payments` CreateCreditTransferRequest[], required
    - `amount` union, required
      - AmountIntegerValueInput
        - `currency` string, required — Three-letter ISO 4217 currency code.
        - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - AmountStringValueInput
        - `currency` string, required — Three-letter ISO 4217 currency code.
        - `stringValue` string, required — A string representation of the amount value, which will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with thousand separator) and always contains the dot `.` character as decimal separator.
    - `scheme` 'SCT' | 'SCT_INST' | 'CROSS_BORDER' | 'GB_CT_BACS' | 'GB_CT_CHAPS' | 'GB_CT_FPS' | 'SE_A2A' | 'SE_GIRO' | 'DK_A2A' | 'DK_CT_SAMEDAY' | 'DK_CT_INST' | 'DK_CT_FIK71' | 'DK_CT_FIK73' | 'DK_CT_FIK75' | 'DK_CT_NEMKONTO' | 'CH_CT' | 'NO_CT' | 'NO_CT_KID' | 'US_CT_ACH' | 'US_CT_WIRE' | 'IS_CT' | 'AU_CT' | 'AU_CT_BECS' | 'AU_CT_BPAY' | 'HK_CT' | 'IL_CT' | 'SG_CT' | 'SG_CT_FAST' | 'BG_CT' | 'CZ_CT' | 'MX_CT' | 'MX_CT_SPID' | 'MY_CT_IBG' | 'MY_CT_RENTAS' | 'KR_CT' | 'TH_CT' | 'CA_CT_LYNX' | 'CA_CT_ACSS' | 'PL_CT' | 'RO_CT' | 'TR_CT' | 'AE_CT' | 'AE_CT_IPI' | 'DE_CT' | 'FR_CT' | 'IN_IMPS' | 'IN_NEFT' | 'IN_RTGS' | 'BR_CT_PIX' | 'BR_CT_TED' | 'BOOK_TRANSFER' | 'CN_CT' | 'VN_CT' | 'PH_CT_PESONET' | 'PH_CT_INSTAPAY' | 'PH_CT_PHILPASS' | 'PH_CT_PDDTS' | 'RS_CT' | 'JP_CT', required — Payment scheme. Choose among: <ul> <li><code>SCT</code> (<a href="https://www.europeanpaymentscouncil.eu/what-we-do/sepa-credit-transfer">SEPA Credit Transfer</a>)</li> <li><code>SCT_INST</code> (<a href="https://www.europeanpaymentscouncil.eu/what-we-do/sepa-instant-credit-transfer">SEPA Instant Credit Transfer</a>)</li> <li><code>CROSS_BORDER</code> (<a href="https://www.swift.com">Swift</a>)</li> <li><code>GB_CT_BACS</code> (UK account-to-account <a href="https://www.bacs.co.uk">BACS</a>) <li><code>GB_CT_CHAPS</code> (UK account-to-account <a href="https://www.bankofengland.co.uk/payment-and-settlement/chaps">CHAPS</a>)</li> <li><code>GB_CT_FPS</code> (UK account-to-account <a href="https://www.wearepay.uk/what-we-do/payment-systems/faster-payment-system/">Faster Payments</a>)</li> <li><code>SE_A2A</code> (Swedish account-to-account)</li> <li><code>SE_GIRO</code> (Swedish <a href="https://www.bankgirot.se">Bankgiro</a> and/or <a href="https://en.wikipedia.org/wiki/PlusGirot">PlusGiro</a>)</li> <li><code>DK_A2A</code> (Danish account-to-account)</li> <li><code>DK_CT_SAMEDAY</code> (Danish same-day credit transfer)</li> <li><code>DK_CT_INST</code> (Danish instant credit transfer)</li> <li><code>DK_CT_FIK71</code> (Danish FIK71 credit transfer)</li> <li><code>DK_CT_FIK73</code> (Danish FIK73 credit transfer)</li> <li><code>DK_CT_FIK75</code> (Danish FIK75 credit transfer)</li> <li><code>DK_CT_NEMKONTO</code> (Danish NemKonto credit transfer)</li> <li><code>CH_CT</code> (Swiss account-to-account)</li> <li><code>NO_CT</code> (Norwegian account-to-account)</li> <li><code>NO_CT_KID</code> (Norwegian KID payment)</li> <li><code>US_CT_ACH</code> (US ACH)</li> <li><code>US_CT_WIRE</code> (US Wire)</li> <li><code>IS_CT</code> (Icelandic account-to-account)</li> <li><code>AU_CT</code> (Australian account-to-account)</li> <li><code>AU_CT_BECS</code> (Australian BECS)</li> <li><code>AU_CT_BPAY</code> (Australian <a href="https://www.bpay.com.au/">BPAY</a>)</li> <li><code>HK_CT</code> (Hong Kong account-to-account)</li> <li><code>IL_CT</code> (Israel account-to-account)</li> <li><code>SG_CT</code> (Singapore account-to-account)</li> <li><code>SG_CT_FAST</code> (Singapore FAST)</li> <li><code>BG_CT</code> (Bulgarian account-to-account)</li> <li><code>CL_CT</code> (Chilean account-to-account)</li> <li><code>CZ_CT</code> (Czech account-to-account)</li> <li><code>MX_CT</code> (Mexican account-to-account)</li> <li><code>MX_CT_SPID</code> (Mexican account-to-account SPID USD)</li> <li><code>MY_CT_IBG</code> (Malaysian Interbank GIRO)</li> <li><code>MY_CT_RENTAS</code> (Malaysian RENTAS)</li> <li><code>KR_CT</code> (South Korean account-to-account)</li> <li><code>TH_CT</code> (Thai account-to-account)</li> <li><code>CA_CT_LYNX</code> (Canadian Lynx credit transfer)</li> <li><code>CA_CT_ACSS</code> (Canadian ACSS credit transfer)</li> <li><code>PL_CT</code> (Polish account-to-account)</li> <li><code>RO_CT</code> (Romanian account-to-account)</li> <li><code>TR_CT</code> (Turkish account-to-account)</li> <li><code>AE_CT</code> (UAE account-to-account)</li> <li><code>AE_CT_IPI</code> (UAE Instant Payment Instruction)</li> <li><code>DE_CT</code> (Legacy German account-to-account)</li> <li><code>FR_CT</code> (Legacy French account-to-account)</li> <li><code>IN_IMPS</code> (India Immediate Payment Service)</li> <li><code>IN_NEFT</code> (India National Electronic Funds Transfer)</li> <li><code>IN_RTGS</code> (India Real-Time Gross Settlement)</li> <li><code>BR_CT_PIX</code> (Brazilian <a href="https://www.bcb.gov.br/en/financialstability/pix_en">PIX</a>)</li> <li><code>BR_CT_TED</code> (Brazilian <a href="https://www.bcb.gov.br/meubc/faqs/p/o-que-e-transferencia-eletronica-disponivel-ted">TED</a>))</li> <li><code>BOOK_TRANSFER</code> (Book Transfer)</li> <li><code>CN_CT</code> (Chinese account-to-account)</li> <li><code>VN_CT</code> (Vietnamese account-to-account)</li> <li><code>PH_CT_PESONET</code> (Philippines PESONet)</li> <li><code>PH_CT_INSTAPAY</code> (Philippines InstaPay)</li> <li><code>PH_CT_PHILPASS</code> (Philippines PhilPaSS)</li> <li><code>PH_CT_PDDTS</code> (Philippines Domestic Dollar Transfer System)</li> <li><code>RS_CT</code> (Serbian account-to-account)</li> <li><code>JP_CT</code> (Japanese account-to-account)</li> </ul>
    - `schemeDetails` SchemeDetailsInput
      - `instrument` InstrumentInput
        - `type` 'US_ACH' | 'CITI_WORLDLINK', required — The type of the payment instrument.
      - `intraCompany` boolean — Whether the payment is between companies within the same group.
      - `urgency` 'HIGH' — The urgency of the payment.
    - `date` string, date, required — `full-date` notation as defined by [RFC 3339, section 5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), for example, `2017-07-21`.
    - `source` InternalAccountRef, required — A reference to an (internal) Account.
      - `type` 'ACCOUNT' | 'EXTERNAL_ACCOUNT' | 'INLINE', required — Account type specifier. `ACCOUNT` for internal _Account_ resources. `EXTERNAL_ACCOUNT` for _External Account_ resources.
      - `id` string, required — ID of an (internal) Account.
    - `destination` union, required — A reference identifying the destination account. Can be either an internal or an external account.
      - InternalAccountRef — A reference to an (internal) Account.
        - `type` 'ACCOUNT' | 'EXTERNAL_ACCOUNT' | 'INLINE', required — Account type specifier. `ACCOUNT` for internal _Account_ resources. `EXTERNAL_ACCOUNT` for _External Account_ resources.
        - `id` string, required — ID of an (internal) Account.
      - ExternalAccountRef — A reference to an External Account.
        - `type` 'ACCOUNT' | 'EXTERNAL_ACCOUNT' | 'INLINE', required — Account type specifier. `ACCOUNT` for internal _Account_ resources. `EXTERNAL_ACCOUNT` for _External Account_ resources.
        - `id` string, required — ID or External ID of an External Account. Prefix External IDs with `external:`.
      - InlineExternalAccount — An inline-defined (from the point of the payment) Account. This is used in the context of payment initiation.
        - `type` 'ACCOUNT' | 'EXTERNAL_ACCOUNT' | 'INLINE', required — Account type specifier. `ACCOUNT` for internal _Account_ resources. `EXTERNAL_ACCOUNT` for _External Account_ resources.
        - `market` string, required — Two-letter ISO 3166-1 alpha2 country code.
        - `identifiers` AccountIdentifier[], required
          - `type` 'IBAN' | 'NUMBER' | 'ADYEN' | 'AU_BPAY_BILLER_CODE' | 'DK_FIK' | 'INVESTMENT_NUMBER' | 'NATIONAL_ID_NUMBER' | 'PAYPAL' | 'PROPRIETARY' | 'SE_BANKGIRO' | 'SE_PLUSGIRO' | 'SOLDO' | 'WALLET_ADYEN_BALANCE_PLATFORM' | 'WALLET_AIRWALLEX' | 'WALLET_CURRENCYCLOUD' | 'WALLET_FLASH_PAYMENTS' | 'WALLET_FREEMARKET' | 'WALLET_HYPERWALLET' | 'WALLET_INPAY' | 'WALLET_LEAD' | 'WALLET_MERCURY' | 'WALLET_MONEYCORP' | 'WALLET_PAYHAWK' | 'WALLET_REVOLUT' | 'WALLET_SKRILL' | 'WALLET_STRIPE' | 'WALLET_SWISSQUOTE', required — Account Identifier type. Choose among: <ul> <li><code>IBAN</code> — IBAN</li> <li><code>NUMBER</code> — Account number</li> <li><code>ADYEN</code> — Adyen identifier</li> <li><code>AU_BPAY_BILLER_CODE</code> — Australian BPAY Biller Code</li> <li><code>DK_FIK</code> — FIK creditor number</li> <li><code>INVESTMENT_NUMBER</code> — Investment number</li> <li><code>NATIONAL_ID_NUMBER</code> — National Identification Number</li> <li><code>PAYPAL</code> — PayPal wallet identifier</li> <li><code>PROPRIETARY</code> — Proprietary identifier</li> <li><code>SE_BANKGIRO</code> — <a href="https://www.bankgirot.se/en/">Bankgiro number</a></li> <li><code>SE_PLUSGIRO</code> — <a href="https://www.nordea.se/foretag/produkter/betala/plusgirot.html">Plusgiro number</a></li> <li><code>SOLDO</code> — Soldo entity identifier</li> <li><code>WALLET_ADYEN_BALANCE_PLATFORM</code> — Adyen balance platform wallet identifier</li> <li><code>WALLET_AIRWALLEX</code> — Airwallex wallet identifier</li> <li><code>WALLET_CURRENCYCLOUD</code> — Currencycloud wallet identifier</li> <li><code>WALLET_FLASH_PAYMENTS</code> — Flash Payments wallet identifier</li> <li><code>WALLET_FREEMARKET</code> — Freemarket wallet identifier</li> <li><code>WALLET_HYPERWALLET</code> — Hyperwallet wallet identifier</li> <li><code>WALLET_INPAY</code> — Inpay account identifier</li> <li><code>WALLET_LEAD</code> — Lead wallet identifier</li> <li><code>WALLET_MERCURY</code> — Mercury wallet identifier</li> <li><code>WALLET_MONEYCORP</code> — Moneycorp wallet identifier</li> <li><code>WALLET_PAYHAWK</code> — Payhawk wallet identifier</li> <li><code>WALLET_REVOLUT</code> — Revolut wallet identifier</li> <li><code>WALLET_SKRILL</code> — Skrill wallet identifier</li> <li><code>WALLET_STRIPE</code> — Stripe wallet identifier</li> <li><code>WALLET_SWISSQUOTE</code> — Swissquote wallet identifier</li> </ul> For further information please refer to <a href="https://docs.atlar.com/v2.0/docs/payment-details#account-identifiers">Account Identifiers</a>
          - `market` string, required — Two-letter ISO 3166-1 alpha2 country code.
          - `number` string, required — The unformatted identifier itself. For type `NUMBER` the structure of the account number is country-specific.
          - `invalid` boolean — Will be `true` if the account identifier is invalid according to Atlar account identifier validation rules.
        - `routing` RoutingIdentifier[]
          - `type` 'BIC' | 'AT_BLZ' | 'AU_BSB' | 'BR_BRANCH' | 'BR_COMPE' | 'BR_ISP' | 'CA_CPA' | 'CH_BCC' | 'CH_SIC' | 'CL_SBIF' | 'CN_APS' | 'DE_BLZ' | 'ES_NCC' | 'GB_DSC' | 'GR_BIC' | 'HK_NCC' | 'IE_NCC' | 'IL_NCC' | 'IN_FSC' | 'IT_NCC' | 'JP_ZGN' | 'KR_BOK' | 'KR_KFTC' | 'MX_ABM' | 'MY_NCC' | 'NZ_NCC' | 'PL_KNR' | 'PT_NCC' | 'RU_CBC' | 'SE_SBA' | 'SG_IBG' | 'TH_CBC' | 'TW_NCC' | 'US_ABA' | 'US_PID' | 'VN_CITAD' | 'ZA_NCC', required — A routing identifier of type `BIC` must be provided to support cross-border/SWIFT payments.
          - `number` string, required — The form of the routing number depends on `type`. E.g. for `BIC` the value should be an 8 or 11 character BIC/SWIFT code. For `GB_DSC` (UK domestic routing) the value should be a six digit sort code.
          - `invalid` boolean — Will be `true` if the routing identifier is invalid according to Atlar validation rules.
          - `constraints` RoutingConstraints — Constraints on a `RoutingIdentifier`.
            - `accountNumberType` 'IBAN' | 'NUMBER' | 'ADYEN' | 'AU_BPAY_BILLER_CODE' | 'DK_FIK' | 'INVESTMENT_NUMBER' | 'NATIONAL_ID_NUMBER' | 'PAYPAL' | 'PROPRIETARY' | 'SE_BANKGIRO' | 'SE_PLUSGIRO' | 'SOLDO' | 'WALLET_ADYEN_BALANCE_PLATFORM' | 'WALLET_AIRWALLEX' | 'WALLET_CURRENCYCLOUD' | 'WALLET_FLASH_PAYMENTS' | 'WALLET_FREEMARKET' | 'WALLET_HYPERWALLET' | 'WALLET_INPAY' | 'WALLET_LEAD' | 'WALLET_MERCURY' | 'WALLET_MONEYCORP' | 'WALLET_PAYHAWK' | 'WALLET_REVOLUT' | 'WALLET_SKRILL' | 'WALLET_STRIPE' | 'WALLET_SWISSQUOTE' — Account Identifier type. Choose among: <ul> <li><code>IBAN</code> — IBAN</li> <li><code>NUMBER</code> — Account number</li> <li><code>ADYEN</code> — Adyen identifier</li> <li><code>AU_BPAY_BILLER_CODE</code> — Australian BPAY Biller Code</li> <li><code>DK_FIK</code> — FIK creditor number</li> <li><code>INVESTMENT_NUMBER</code> — Investment number</li> <li><code>NATIONAL_ID_NUMBER</code> — National Identification Number</li> <li><code>PAYPAL</code> — PayPal wallet identifier</li> <li><code>PROPRIETARY</code> — Proprietary identifier</li> <li><code>SE_BANKGIRO</code> — <a href="https://www.bankgirot.se/en/">Bankgiro number</a></li> <li><code>SE_PLUSGIRO</code> — <a href="https://www.nordea.se/foretag/produkter/betala/plusgirot.html">Plusgiro number</a></li> <li><code>SOLDO</code> — Soldo entity identifier</li> <li><code>WALLET_ADYEN_BALANCE_PLATFORM</code> — Adyen balance platform wallet identifier</li> <li><code>WALLET_AIRWALLEX</code> — Airwallex wallet identifier</li> <li><code>WALLET_CURRENCYCLOUD</code> — Currencycloud wallet identifier</li> <li><code>WALLET_FLASH_PAYMENTS</code> — Flash Payments wallet identifier</li> <li><code>WALLET_FREEMARKET</code> — Freemarket wallet identifier</li> <li><code>WALLET_HYPERWALLET</code> — Hyperwallet wallet identifier</li> <li><code>WALLET_INPAY</code> — Inpay account identifier</li> <li><code>WALLET_LEAD</code> — Lead wallet identifier</li> <li><code>WALLET_MERCURY</code> — Mercury wallet identifier</li> <li><code>WALLET_MONEYCORP</code> — Moneycorp wallet identifier</li> <li><code>WALLET_PAYHAWK</code> — Payhawk wallet identifier</li> <li><code>WALLET_REVOLUT</code> — Revolut wallet identifier</li> <li><code>WALLET_SKRILL</code> — Skrill wallet identifier</li> <li><code>WALLET_STRIPE</code> — Stripe wallet identifier</li> <li><code>WALLET_SWISSQUOTE</code> — Swissquote wallet identifier</li> </ul> For further information please refer to <a href="https://docs.atlar.com/v2.0/docs/payment-details#account-identifiers">Account Identifiers</a>
            - `scheme` string
        - `externalId` string — External ID is optional to use, but if used, the Atlar platform will persist it, index it, as well as require it to be unique across all resources. It is possible to retrieve a resource using the external ID using the prefix `external:`.
        - `holder` InlineAccountHolder, required — Information about the legal holder of an account.
          - `externalId` string — External ID is optional to use, but if used, the Atlar platform will persist it, index it, as well as require it to be unique across all resources. It is possible to retrieve a resource using the external ID using the prefix `external:`.
          - `legalName` string, required — The legal name of the account holder. Some banks, and for some payment schemes, the correctness of the legal name will be validated and payments may be rejected if legal names do not match.
          - `partyType` 'INDIVIDUAL' | 'COMPANY' — The legal type of a party
          - `address` Address — Postal address.
            - `country` string — Two-letter ISO 3166-1 alpha2 country code.
            - `countrySubdivision` string — Country subdivision code (second part of the ISO 3166-2 code). E.g. state code `CA` for the state of California in the USA, `ON` for the province of Ontario in Canada, `NSW` for the state of New South Wales in Australia. ISO 3166-2 codes can be found on the ISO website, for example, for the USA: https://www.iso.org/obp/ui/#iso:code:3166:US. In the USA the state code is required for domestic payments, in Canada the province code is required for domestic payments.
            - `city` string
            - `postalCode` string
            - `streetName` string
            - `streetNumber` string
          - `nationalIdentifier` NationalIdentifier
            - `type` 'CIVIC' | 'COMPANY', required — Type of the national identifier.
            - `market` string, required — Two-letter ISO 3166-1 alpha2 country code.
            - `number` string, required — The identifier itself.
    - `reference` string, required — This reference will be sent to the destination bank and recipient. (This type of reference is sometimes also referred to as remittance information.)
    - `referenceType` 'STRUCTURED' | 'UNSTRUCTURED' | 'CREDITOR_REFERENCE' — The kind of reference carried by a payment's remittance information. - `UNSTRUCTURED`: free-text remittance information, carried on pain.001 as `<RmtInf><Ustrd>`. - `CREDITOR_REFERENCE`: a structured creditor reference such as ISO 11649 (RF), Finnish Viitenumero, Norwegian KID, or Swedish Bankgiro/Plusgiro OCR. Carried on pain.001 as `<RmtInf><Strd><CdtrRefInf>` with `<Cd>SCOR</Cd>`. - `STRUCTURED`: **deprecated** — use `CREDITOR_REFERENCE` instead. Retained so existing persisted records still parse.
    - `categoryPurpose` string — ISO 20022 Category Purpose Code (ExternalCategoryPurpose1Code).
    - `chargeBearer` 'SHARED' | 'DEBTOR' | 'CREDITOR' | 'SERVICE_LEVEL' — Charge bearer specifies which party should bear the charges of the transaction.
    - `regulatoryReporting` RegulatoryReportingDetails[] — Regulatory reporting can be used to provide additional information when needed due to regulatory and statutory requirements.
      - `market` string, required — Two-letter ISO 3166-1 alpha2 country code.
      - `indicator` 'CREDITOR' | 'DEBTOR' | 'BOTH', required — Determines which side of the payment the regulatory reporting code applies to. When making a payment _to_ Thailand, one should supply a `CREDITOR` code (equivalent to iso20022 `CRED`), while making a payment _out of_ Sweden or Norway may require a `DEBTOR` code (equivalent to iso20022 `DEBT`).
      - `code` string, required — The actual code to report. Codes are market-specific and found on https://docs.atlar.com
    - `taxDetails` TaxDetailsInput — Tax payment details for split payment schemes like Polish MPP (Mechanizm Podzielonej Płatności).
      - `type` 'PL_MPP', required — Type of tax payment scheme.
      - `amount` union, required
        - AmountIntegerValueInput
          - `currency` string, required — Three-letter ISO 4217 currency code.
          - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
        - AmountStringValueInput
          - `currency` string, required — Three-letter ISO 4217 currency code.
          - `stringValue` string, required — A string representation of the amount value, which will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with thousand separator) and always contains the dot `.` character as decimal separator.
      - `creditorId` string — Tax identification number (NIP) of the creditor/vendor. In Poland, for example, it must be exactly 10 digits.
      - `invoiceNumber` string — Invoice or document reference number.
    - `externalId` string — External ID is optional to use, but if used, the Atlar platform will persist it, index it, as well as require it to be unique across all resources. It is possible to retrieve a resource using the external ID using the prefix `external:`.
    - `metadata` Metadata, nullable — Metadata is a `string-string` key-value container that can be used to store information known at the time of resource creation. This can be retrieved later on, for instance when a payment or expected transaction is reconciled with the booked transaction on the bank statement. Metadata can have at most 20 entries. Keys may have a maximum length of 64 chars and values a maximum length of 512 chars. By default, this field is optional. It is possible to make it required in the Atlar Dashboard by visiting the [Metadata keys page](https://app.atlar.com/metadata-keys). Requirement rules can be specified per API resource. Both the Dashboard and the API will then enforce these rules and give validation errors when the required fields are not set.
    - `paymentScheduleId` string — Unique resource identifier.
  - `externalId` string — External ID is optional to use, but if used, the Atlar platform will persist it, index it, as well as require it to be unique across all resources. It is possible to retrieve a resource using the external ID using the prefix `external:`.
  - `skipValidationErrors` boolean — Skip/ignore input records that contain validation errors.
  - `metadata` Metadata, nullable — Metadata is a `string-string` key-value container that can be used to store information known at the time of resource creation. This can be retrieved later on, for instance when a payment or expected transaction is reconciled with the booked transaction on the bank statement. Metadata can have at most 20 entries. Keys may have a maximum length of 64 chars and values a maximum length of 512 chars. By default, this field is optional. It is possible to make it required in the Atlar Dashboard by visiting the [Metadata keys page](https://app.atlar.com/metadata-keys). Requirement rules can be specified per API resource. Both the Dashboard and the API will then enforce these rules and give validation errors when the required fields are not set.

## Response `201`

The created credit transfer batch.

- PaymentBatch
  - `id` string, required — Unique resource identifier.
  - `organizationId` string, required — Unique resource identifier for an Organization.
  - `treatment` 'INDIVIDUAL_PAYMENTS' | 'BATCH', required — Deprecated: You can approve or reject on batch and individual level regardless of the treatment type.
  - `input` BatchInputMetadata, required — Metadata describing the original input that was used to create a payments batch.
    - `recordCount` integer, required — Deprecated. Has moved into `content`. Total count of input records (payments) in the input batch.
    - `sums` Amount[], required — The total amount sum per each currency of resources in this batch. Note that batch amount sums reported on the batch input metadata refer to the total amount sums of the input records (resources) while the batch amount sums reported on the batch result refer to the total amount sums of the successfully processed records (resources). This means that there may be a difference in the total sum for the input vs the result, due to skipped records (resources).
      - `currency` string, required — Three-letter ISO 4217 currency code.
      - `stringValue` string, required — A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
      - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
    - `content` BatchInputContent, required — Metadata describing the input contents that was used to create this batch.
      - `contentType` string, required
      - `recordCount` integer, required — Total count of input records (resources) in the input batch.
      - `size` integer, required — The size of the input content in bytes. If the batch was created by uploading a file using `multipart/form-data` the `contentSize` will be the file size. If the batch was created with JSON input this will be the raw JSON size.
      - `checksum` string, required — A checksum of the batch input contents. The checksum digest value will be prefixed by an identifier of the hash algorithm used, e.g. `sha256`. A colon `:` is used as separator between the algorithm identifier and the digest value.
      - `filename` string — The name of the file that was used as input to create the batch. Filename will only available if the batch input was provided using `multipart/form-data`.
  - `inputContent` BatchInputContent, required — Metadata describing the input contents that was used to create this batch.
    - `contentType` string, required
    - `recordCount` integer, required — Total count of input records (resources) in the input batch.
    - `size` integer, required — The size of the input content in bytes. If the batch was created by uploading a file using `multipart/form-data` the `contentSize` will be the file size. If the batch was created with JSON input this will be the raw JSON size.
    - `checksum` string, required — A checksum of the batch input contents. The checksum digest value will be prefixed by an identifier of the hash algorithm used, e.g. `sha256`. A colon `:` is used as separator between the algorithm identifier and the digest value.
    - `filename` string — The name of the file that was used as input to create the batch. Filename will only available if the batch input was provided using `multipart/form-data`.
  - `inputDetails` PaymentBatchDetails, required — Details summarizing the contents of the batch.
    - `sums` Amount[], required — The total amount sum per each currency of resources in this batch. Note that batch amount sums reported on the batch input metadata refer to the total amount sums of the input records (resources) while the batch amount sums reported on the batch result refer to the total amount sums of the successfully processed records (resources). This means that there may be a difference in the total sum for the input vs the result, due to skipped records (resources).
      - `currency` string, required — Three-letter ISO 4217 currency code.
      - `stringValue` string, required — A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
      - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
  - `results` BatchResultsSummary — Aggregate summary of payment batch processing results.
    - `total` integer, required — Deprecated. Moved to `processed`. Number of input records that were attempted to be processed.
    - `succeeded` integer, required — Deprecated. Moved to `processed`. Number of input records that resulted in a successfully created payment.
    - `failed` integer, required — Deprecated. Moved to `processed`. Number of failed records.
    - `skipped` integer, required — Deprecated. Moved to `processed`. Number of input records that were skipped.
    - `processed` BatchResultSummary, required — Aggregate summary of batch processing results.
      - `total` integer, required — Number of input records that were attempted to be processed.
      - `succeeded` integer, required — Number of input records that resulted in a successfully created resource.
      - `failed` integer, required — Number of failed records.
      - `skipped` integer, required — Number of input records that were skipped.
    - `sums` Amount[], required — The total amount sum per each currency of resources in this batch. Note that batch amount sums reported on the batch input metadata refer to the total amount sums of the input records (resources) while the batch amount sums reported on the batch result refer to the total amount sums of the successfully processed records (resources). This means that there may be a difference in the total sum for the input vs the result, due to skipped records (resources).
      - `currency` string, required — Three-letter ISO 4217 currency code.
      - `stringValue` string, required — A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
      - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
  - `resultSummary` BatchResultSummary — Aggregate summary of batch processing results.
    - `total` integer, required — Number of input records that were attempted to be processed.
    - `succeeded` integer, required — Number of input records that resulted in a successfully created resource.
    - `failed` integer, required — Number of failed records.
    - `skipped` integer, required — Number of input records that were skipped.
  - `resultDetails` PaymentBatchDetails — Details summarizing the contents of the batch.
    - `sums` Amount[], required — The total amount sum per each currency of resources in this batch. Note that batch amount sums reported on the batch input metadata refer to the total amount sums of the input records (resources) while the batch amount sums reported on the batch result refer to the total amount sums of the successfully processed records (resources). This means that there may be a difference in the total sum for the input vs the result, due to skipped records (resources).
      - `currency` string, required — Three-letter ISO 4217 currency code.
      - `stringValue` string, required — A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
      - `value` integer, required — The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
  - `status` 'CREATED' | 'PROCESSING_STARTED' | 'COMPLETED', required — The status of this batch. The status only refers to the processing of the input, not the processing or success of the resources themselves. `COMPLETED` is the only end-state. Failure is indicated by a non-empty list of `errors`.
  - `errors` ErrorDetails[] — A list of error details if the batch failed. Only populated once the batch has reached status `COMPLETED`. Only the first 255 errors (if any) will be present in this list. If there are more errors, the complete list can be retrieved using the results endpoint for the batch.
    - `code` string — An error code for this error. Not always present.
    - `error` string — A description of this specific error.
    - `field` string — The field which has an error. This only set if the error has to do with a specific field, such as for validation errors. Nested fields are concatenated with `.`, as well as indexed fields in lists.
  - `approvalSteps` PaymentApprovalStep[], required — Batch approval steps. Approval steps will only be available once the the batch `status` is `COMPLETED`. I.e. no action must be taken based on the absence of approval steps (empty array).
    - `id` string, required — The ID of this step. Used when approving/rejecting.
    - `approvalChainId` string, required — The ID of the approval chain that triggered this approval step.
    - `requiredRoleIds` string[] — IDs of the Roles that can approve/reject. Not specified if the step was automatically approved based on an auto-approval chain.
    - `status` 'PENDING' | 'APPROVED' | 'REJECTED', required — The status of the approval step.
    - `approver` UserAuditInfo — User information for audit trail.
      - `id` string, required — Unique resource identifier.
      - `username` string, required
      - `name` string — User given name(s) information. May be a concatenation of firstname, lastname etc.
      - `roleId` string — Role ID
    - `updated` string, date-time — Timestamp when approved/rejected. Omitted if the step is not yet approved/rejected.
    - `autoApproved` boolean, required
    - `allowCreatorApproval` boolean — Allow approval by the user creating this resource if they have the role required for this step. By default, this is not allowed to conform with a four-eyes principle where approval by another person is required.
    - `sequentialApproval` boolean — If true, the approval steps for this approval chain, specified by `approvalChainId`, need to be approved in the the order specified by `sequenceNumber`.
    - `sequenceNumber` integer — The sequence number of this step in the approval chain.
  - `externalId` string — External ID is optional to use, but if used, the Atlar platform will persist it, index it, as well as require it to be unique across all resources. It is possible to retrieve a resource using the external ID using the prefix `external:`.
  - `approvalResults` ApprovalResults, required
    - `approved` integer, required — Number of fully approved credit transfers.
    - `rejected` integer, required — Number of rejected credit transfers.
  - `creatorUserId` string — Unique resource identifier.
  - `metadata` Metadata, nullable — Metadata is a `string-string` key-value container that can be used to store information known at the time of resource creation. This can be retrieved later on, for instance when a payment or expected transaction is reconciled with the booked transaction on the bank statement. Metadata can have at most 20 entries. Keys may have a maximum length of 64 chars and values a maximum length of 512 chars. By default, this field is optional. It is possible to make it required in the Atlar Dashboard by visiting the [Metadata keys page](https://app.atlar.com/metadata-keys). Requirement rules can be specified per API resource. Both the Dashboard and the API will then enforce these rules and give validation errors when the required fields are not set.
  - `etag` string, required — [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) based on the resource version. This can be passed along in `If-Match` HTTP header when updating a resource to perform a conditional update.
  - `version` integer, required — Resource version. Starts at value `1` when the resource is created and increases by one for each successive update.
  - `created` string, date-time, required — Time at which the resource was created.
  - `updated` string, date-time, required — Time at which the resource was last updated.

## Other responses

- `400` — Bad request.

---

[API](https://skmtc.net/atlar/apis/atlar-api-v2.md) · [All operations](https://skmtc.net/atlar/apis/atlar-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlar/atlar-api-v2/revisions/9c5e194ccf5d/schema)
